But that's not a problem on small projects. non-technical people only create software to scratch their needs, they will probably will need 20 or 30 features, never 432, making their system much easier to handle.
The problem with enterprise software is that it has to support a very large combination of features designed for different clients. That's why it gets so complex, but if the software has to support a single client is waaay easier.