For instance, prioritizing on features to build/improve next. I have read support for both sides and can see issues in both. If you give customers what they want it could detract from the core focus of your product. I believe this is called "feature bloat." If you give them what they need they'll realize how valuable your product is to them, but there's also the chance of making a wrong assumption. How do I find out what they need and keep them happy? And is it an uphill battle to convince them that what they really need is more important than what they want?
There are a few conflicting statements in your question that make this a little tricky to answer - but I am gonna give it a go anyway.
Firstly, it seems like when you're saying "what they really need" perhaps you have strong opinions on what they need and are frustrated that they don't see things the same way as you? If this is the case, you are definitely going to be facing the uphill battle that you reference.
My suggestion is to talk to your customers (actual face to face, or telephone calls) and find the trends in the features or specifications they are requesting. If you are already established (which I am taking to mean - you have loyal, paying customers and are financially stable) then take an 80/20 approach to improving your product.
Spend 80% of your time/resources by adding the feature requests that you know people are asking for and likely to pay for and spend 20% of your time/resources on those experimental features that you think people need even if they don't realise it yet.
Also, this will probably keep you motivated to continuously test and improve your own product because you'll have a 20% "side project" budget. Those are always fun.