Richard Clayton wrote an post on why software estimation is useless which has received mixed responses.
He correctly points out the advantages and disadvantages of software estimates. While he concludes that estimation is useless, I conclude that it is useful despite the disadvantages. His only proposal to do better is to work until the budget is spent. (That makes sense when a story is indeed inestimable for some reason).
I believe that his approach may possibly work for paid project, but not for standard software development.