Projects that take longer than expected or cost more than expected take time or money away from other projects. Bugs that show up after deployment cost time and money to fix. They take programmers away from the business of developing new systems. In addition, all of these problems damage the credibility of the development team. Extensive overtime costs, too.
Some developers leave the company in search of a saner work environment.
Other developers burn out and are unproductive on future projects. Other developers grow cynical. In any case, a team that comes through an overtime-laden project rarely comes through undamaged. These people costs are harder to measure than the other costs of failure that I've mentioned, but they are no less real. If you still think you've never been part of a failed project, you're probably right.