Simplicity is not necessarily the best design criterion in software development. Modularity, rather, is what’s best. You want to start small and allow the user a great degree of customizability, minimizing the degree of bloat.
There is no such thing as a piece of software so large it cannot be rewritten from the ground up. It happens often enough, and Windows was recently rewritten. The problem with operating systems (this happens with all of them again) is that if you make it too “simple,” people will complain that they need to install all these additional modules or programs to get it to do what they want it to do. If it contains all of that, inevitably some of it will be memory-resident, including some things you don’t need or want.
There’s really no win-win for software developers. I’m more of an open-source guy myself. If you’re interested in doing a quick comparison of simple vs. complex, try the Google Chrome browser. It’s designed to be a simple web browser, in contrast with the others available.
Simplicity is the surest sign of genius. Complexity, such as providing highly customizable features, is a sign the designer had no clue so threw in everything to let the user sort out.