IMHO usually it comes down to...
... three things that I encounter:
1. People not actually knowing / aware what they are asking and what work it will entail and how far away it is from best practice / industry standards / reality. (Therefore requiring MUCH more work to implement.)
2. Lack of clear definition of the targets or that one is not committed to the targets set and keeps changing them.
3. The third reason I encounter for projects (ERP or other) to fail / get into trouble / cost overruns is because the people who set the targets that have to be fulfilled often do not even have to work with the system, which causes it's own train of trouble. They try their best, I do not doubt that, but in the end they seldomly really know what they are talking about.