I won't bother citing because it's literally overwhelming, but it's pretty clear that there are many companies producing software with the long-term view in mind, and I bet every single one of them is subject to schedule issues.
I've certainly been on teams with long-term thinking embedded in the process and spent time explaining delays, which is of course merely an anecdote, but rather suggestive of things not being as black and white as you'd like to present them.
edit: minor wording cleanups
Um, maybe its just been the places I've worked at, but I've been repeatedly told "we should ship software rather than get everything perfect".
I agree, at the same time, most if not all of the problems I've encountered (including ones I've built for myself) have been because of this impatience.
You've answered it yourself :-) It's not a technical problem, it's a social issue.
They're happy to pretend good estimates are possible without that, though, and complain endlessly about how bad estimates always are.
At the end of day that's precisely the joy of this field. Else it's just a job.
Technological advancements have, to this point, had fairly limited effect on mitigating error in human input.
b) Developers are bad at estimating the unknown unknowns that will bite them.
c) Padding estimates is somehow seen as a bad thing, probably due to...
d) Business pressures that incentivize everyone to quote the earliest possible date something could be ready, rather than the date it will most likely be ready.
I'm grateful, of course, for the technological progresses we've made since '73, but how come this is still an issue?