Sometimes its NOT the fault of the vendor.....
.....as when THE BUSINESS changes during the implementation. Examples:
- Centralised business decides on multiple spin-offs (not known when the ERP contract was signed)
- Business takes over (or is taken over by) another business (not known when the ERP contract was signed)
- Legislation is passed which affects core business processes (not known when the ERP contract was signed)
The moral of all these stories is simple -- try to make project durations shorter (say, shorter than multiple years).
Note that when the project takes multiple years and these unforeseen changes occur, it's not unknown for a software vendor to breath a huge sigh of relief, bank their fees, and bail out!!!! I wonder how much COMPLETELY RISK FREE profits have been booked this way.