Internally within most organisations in my experience, developers write the code their management team tells them to write, which comes from competitive analysis, feedback from sales or pre-sales demo teams, analysis of trends in support calls, and feedback from client relationship managers.
1. When we go out to show our products to prospective clients, what do they want that we cannot do or cannot do easily?
2. What feedback are our existing customers giving us (through any channel, but mainly their relationship manager or the support team) about what they are finding hard?
3. When we lose a deal to the competition on something other than price, what was the deciding factor? What features were we lacking, or is it just that the competition have better sales staff?
4. What bugs/features exist in our system that are causing problems for our clients, or are preventing us landing new deals? (This one is different from points 1 and 2 - this is a functional issue, 1 and 2 are design issues).
In most development companies where I have worked, the answers to those questions are constantly monitored by a focus group for future development, and they mandate what new features (or fixes for existing bugs) are included in the product roadmap.
It sounds as though that entire process is missing from OP's company, and getting management buy-in to get that setup would be my first suggestion. Once that is up and running, the organisation becomes more focused on profitably delivering what the customer wants, instead of what seems to be the case in OP's office - what the developers want to produce.
Asking clients specifically for feedback about what features they find good and bad about the system, and how the system can better support their workflow is a question for the relationship manager, if there is one. Similarly, if a client decides not to renew a contract or wants to break the contract part way through to move to a competitor's product, asking why the decision to migrate was made would be a good idea - often it will be purely price-driven and features will have no relevance. But sometimes, the lack of a specific feature or generally bad UI programming causing lost productivity for the client can be the cause, and really needs to be addressed.