We are not a big fans of 37Signals' approach of turning down every feature request by default at Jitbit. We actually love and appreciate our users feedback. Not a day goes by without a couple of feature requests for one of our apps and in many cases we're making a decision to implement them.
It's just wrong to pretend you know, what's best for all your users. They are not dumb too, they have good ideas and you've got to listen to them. Of course you shouldn't blindly fulfill every request to make everyone happy, it will turn your app into rubbish in no time. But you do need to analyze every request carefully.
The bad thing is it's rather hard to do. And the main reason for this is that in the most cases users are proposing the solution to the unknown problem. Unfortunately, acting like a selfish smart ass is a default user behavior pattern and that's perfectly fine. They don't need to think about other users, it's not their job, it's yours.
To analyze a request and decide to implement it or not you should make a user to tell a story. What he's trying to accomplish? What is his actual problem? Make a user tell a story. When you will know and understand it all, you can came up with a solution that will be good for everyone, not just that one user, it will add a real value to your product, also you will know more about how your clients are using your apps.
Listening to your users is essential, you just need to put on a little effort to make them happier.