There are a couple of popular TED talks about choice.
http://www.ted.com/talks/barry_schwartz_on_the_paradox_of_ch...
It's something to keep in mind with your development work as well. Let's say you create an application to minify javascript. Your app has an input field, and a button that says 'Go', and that's it. Very simple, no confusion, people love it.
However, you notice 5% of people don't use the app, because they want to keep comments in their minified code, and you don't include that option. A lot of developers decide they'll add a checkbox to include comments, because now everyone can be happy. It doesn't quite work that way, because now the 95% of people that don't want comments see this checkbox, and start to question themselves. Wait, why do people want comments included in their minified code, should I be checking this box? Is there something I'm doing wrong? Do most people check the box or not, I'd like to know to validate my decision, otherwise I feel uneasy. The more options you add, the more this has an effect.
In the end, maybe the 95% are feeling so uneasy, 10% of them leave to another app, that just has a 'Go' button again, so they feel confident, and more happy. So, by adding the checkbox to include comments, the 5% of people that were asking for the feature now start using the app, but you lose 10% of the original audience because of the additional choice.
It's a difficult balance, and you really need to focus on the majority, and be careful about building out features the minority are requesting. If you look at apps like Twitter or Snapchat (or Yo, on the extreme side, and not yet proven), they succeed by limiting the amount of choice available to users. Many developers would have added more options, or in the case of Twitter given users the ability to write longer tweets because it seems harmless, but at the same time, it would have caused the businesses to fail.