Estimation involves two steps. The first is breaking a large project into small, simple, and actionable tasks. The second is estimating the amount of time each small task will take.
Estimation is not meant to be a rigid roadmap. We estimate with the expectation that the project will change and grow as time goes on; and that some tasks will be easier than we expect, and some will be harder.
Estimation lets us be flexible in the face of the unexpected, while still giving our customers a clear sense of how much work a project will likely take.