As the flexibility of a system increases, its usability decreases. It sounds simple, but yet is so difficult to understand. Flexibility has costs. I would argue this holds true in general, but for now let’s focus on the web.
Making it ‘Foolproof’
Murphy’s Law claims, in part, that “nothing is foolproof to a sufficiently talented fool.” In basic terms, you cannot plan for everything. Rather, you should design and code for the critical mass of users needed to make your website successful. When you go overboard on flexibility, you decrease efficiency, added complexity, increase time, and spend more money for development. You may deliver a user experience that is worse than what you started with.