Listen to others, but always trust yourself. Always.
Imagine that you sell product X. X here could be anything: to me, right now, X is Apollo, a piece of project management software that allows you to manage and organise your working and personal life. But that's just an example -- you could be selling cakes. After a while, and a lot of hard work, you become popular: people buy your cakes (and my software), and things are cruising along nicely. As you become more and more renowned, your customers start coming up with more specific requests. Requests that sometimes go against your plan, your ideas, your products' structure. They want more sugar. No gluten. Less butter. What do you do? I won't bother holding you, bored readers, to the end of this article to hear the answer. In fact, you heard the answer right at the beginning: listen to others, but always trust yourself. Always.
If you are doing things right, your customers will fall in love with your products. Apple makes millions of dollars every day thanks to their customers' love. (And yes, I am sure Apple loves their customers' love even more!). After a while, they will ask you for features, changes. Some of those changes will be specifically for their needs: implementing them would mean either changing the product altogether, or turning your product into a bit of a Frankenstein. Some of them will actually fit your product, and will easy or hard to implement. Some of them will be completely impossible to implement.
So, what to do? There are three main philosophies about users' requests.
The first one is to just say "no". That's it. Doing so requires a distinct amount of cockiness, and an immense trust in oneself. Everybody loves respect, and hearing a short "no" is a bit of a teller. What normally happens, after that, is that users start leaving your product for the competition, which does offer those features you have denied for so long. Then, you start implementing those features, but it's too late. This is when you trust yourself too much and always say "no".
The second one is to say "yes" to everybody -- and then never do them. This frustrates the users even more: while being told "no" can be seen at least as an act of honestly, getting a "yes" and then waiting a year for that "yes" to turn into a feature feels very wrong. Users sooner or later figure out that you are saying "yes" meaning "yes we are ignoring you while pretending that we are listening". They will eventually leave. This is when you trust yourself enough to say "no".
The third one is to say "yes" or "no", but make it clear that even a "no" might possibly mean "yes" if either more people request it, or if it becomes easy for you to do it in the future. If you say "yes", provide a roadmap and tell them when they might expect you to deploy those changes, clarifying that that's only an estimate. That's when you trust yourself, to the point that you can decide to even doubt yourself after listening to your customers.
It's not always easy to find the right balance. We try to do our best with Apollo. I am sure we can be guilty of trusting ourselves too much or too little sometimes, but we can only try. Our users are happy, which seems to be the main outcome.
Let us know if you feel we are steering away from the happy medium: we will try and straighten the ship up.