This rings home as I was recently talking to someone at an engineering firm that often bids for government contracts. And they were explaining that you build your timeline back from the deadline in the proposal even if you know it isn't feasible. A lot of companies will then bid under-cost and hope that there was a flaw in the design that requires adjustments. Then since they are already on the site with a bunch of workers they will charge extortionary process for the modification to make money on the whole project. So that $10M dollar bid jumps to $15M because they needed to reroute a gas line before starting the building (not a real example, but representative)
Of course a lot of the problem is that the city has strong processes and policies to avoid corruption, however the end result is that it is very difficult to hire the people you know do good work, instead you are stuck with the lowest bidder. Of course there is a process for banning companies however it is long, complicated and very bureaucratic, so even if you could get the ban in place it is easier for any project manager not to bother.
I guess it all comes down to lack of trust, and this is why we can't have nice things.