It's rarely simple/honest misestimations with large government contracts though.
There is just too much money to be made for the corrupt people to stay away.
The honest and good offers are rarely taken, because they've realistic estimations - the dishonest one's only care about getting the contract, not finishing it... So they'll make the much better offer. And once work starts, the corruption keeps spreading. Everyone on every layer knows how unlikely their charges are going to be contested, so everyone just charges more for the same work, siphoning money from the project.
I'd consider that a cultural issue, because people at large have really started to only think about themselves and no longer identify with their work ethic. Which is understandable because the employers generally treat their employees like disposable tools.
I don't think there is any straightforward or easy solution, and it can get much much worse too. Just look at china's production issues for inland products, esp. food and consumable products.