A friend sent me a link about a programmer who was approached by friends to work on a startup, only to find that they thought his role was so easy, he'd do it for free.
Between budgets, man-hours, and even CPU requirements, underestimating how long software takes to write and test is easy. And it's not only a problem for startups, companies like Microsoft have the same problem--Vista wasn't just late, it was missing features. The good news for startups is that deadlines and requirements are often flexible, but missed deadlines kill morale.
Basically, the only people worse at estimating software schedules than programmers are managers, and the only people worse at dealing with missed deadlines than managers are programmers.