Usability vs. Flexibility
It is a well-known design principle that the more a product increases it’s flexibility, the less usable it becomes. By trying to offer a wider scope of functionality and utilities a product becomes more complex. The higher the complexity the greater the usability issues.
Many designers often make the mistake of adding as many features as possible expecting this to make the product better. What needs to be considered is the cost vs. benefit of each feature both in isolation and in consideration of the other functionality and the product as a whole. This is why we have both specialised products and more general products, the general products can do more but almost never as well as the specialised product. For example, a games console provides a better gaming experience than that experience using your PC, which was designed to support vast and various types of software.
This design principle is related to the 80/20 rule that I wrote about last week in that when using a system 20% of the features will be used 80% of the time. By refining a system to it’s most utilised and valuable features, you are not only increasing it’s usability, you are increasing the usefulness of the product.
There are scenarios where it is good to be a generalist though as well. The key in all situations is to know who your target market is and to truly understand what their needs and expectations are so the feature and functionality decisions can be made based on "real" information thereby finding the optimal balance between usability and flexibility.