Enterprise software sucks because it is a hard, extremely complex problem space. Enterprise software is hard in the same way that it is hard to create and maintain an effective and useful quality system. Each individual (successful) business is uniquely organized and operates in a manner peculiar to itself. The unique qualities of a business is what gives it a competitive advantage. A successful businees is not going to adapt its business practices to some generalized, abstracted ERP system. To do so would risk the loss of its competitive advantage. All the ERP systems I have seen suck at the ability to be easily adapted to the unique and peculiar qualities of a specific business. Many businesses spend a lot of money on services or consultants in attempts to adapt general ERP systems to their business without much success.
I wonder if this dissonance between what businesses want from an ERP system and the capabilites of ERP systems is due to programmers desire to elegantly abstract and generalize software. Businesses want ERP software to be specific to their business. Motorola, Nokia, GE, Sam's Muffler Shop do not want to be generalized into MyAbstractBusinessClass.