Why is Estimating so Hard?

Bob Martin:

The moral of this story is that tasks that appear easy for a human to solve are often described by complex procedures. So when estimating, make sure you aren’t affected by the apparent ease of that task. Look below the surface to try to enumerate the number of procedural elements.

And if anyone tries to tell you that your estimate is bogus because the task is so simple, ask them to write down the procedure for tying their shoes.

Are there industries that are structured to not depend on estimates? Because estimating for software is very difficult, and I wonder if there is a way to move away from relying so heavily on estimates.