Variability in our estimates
The biggest problem with estimation is the amount of information we assume. We make assumptions on how to solve the business problem, the technologies we're going to use, and the capabilities of the people building it. So many factors.
The level of complexity and uncertainty impacts our ability to give an accurate estimate because there are so many variables at play. This, in turn, is amplified by the size of the piece of work. The result is something referred to as the Cone of Uncertainty:
Barry Boehm first described this concept in his book Software Engineering Economics, 1981; he called it the Funnel Curve. It was named The Cone of Uncertainty in the Software Project Survival Guide (McConnell 1997).
It shows us that the further we are away from completion, the larger the variance in the estimate we give. As we move closer to completion, the more accurate our estimate will become, to the point where we complete the work and know exactly how long it took us.
So while it was felt that better precision could be gained using a gated process, such as Waterfall, because it led to a tendency to bundle more of the stuff we wanted to get done together, it would significantly increase the size of the work parcel. This, in turn, compounded the problem of getting an accurate estimate.