I believe that most web-based data driven system today are overbuilt.
Too many features with too many options, it leaves users frustrated and lost.
One of the main reasons it happens: System feature death spiral. The thing is that vendors try to sell the product demonstrating its new functionality that must beat the functionality of competitors, but that only complicates the product and makes it quite cumbersome.
The second reason for that is vendors attempt to solve two opposite tasks within one product: enable users no-programming app creation pursuing to build a system that can build apps of any complexity at the same time, what results in a plethora of options. The truth is you really don’t have to code on PHP or .NET, but instead of that it requires knowledge how to build the app within their system with their specific elements (visual, for example) and you must know how to handle this huge quantity of options. As the matter of fact the difficulties you face learning how to operate can be fairly compared to efforts of mastering a programming language, but in options.
There is one more thing. Give any system a time and eventually it turns into Salesforce. When your client base grows day by day it’s pretty difficult to decline requests of big and important customers to add some feature or option they literally can’t live without. One can say what’s wrong with that? Everybody is happy! The client is satisfied and the product has one more "useful" feature. The problem is nobody needs it but only this particular customer.
What’s your opinion? I think the time has come to do more with less.