What I've been waking up to is that projects that estimate realistic budgets and time scales don't get funded. Everyone underbids knowing that the company/customer will continue to fund and extend deadlines for project after sinking so much effort into a buggy prototype, until the realistic estimate is reached and the product actually reflects all the "hidden"/"discovered" requirements (i.e. foreseen but not in the bid) including security, integration and test efforts.
What's weird is that everyone, customers included, seems to be in on this.