If you're prepared to pay for a solution that actually fits your business and you have tight coupling of good software developers and intelligent people who will be using it you can get good results, but people either want something for nothing (won't pay for it) or are mentally incapable of constraining what they want. Some firms simply do not have the staff nor culture to do things well, unfortunately.