Good design is a cross-disciplinary activity, mixing the domain knowledge in users' heads with the design knowledge in the heads of developers/designers. This is hard to do well, with few hard-and-fast rules, but it often benefits from collaboration.
There are often big a-ha! wins when you're watching a user and ask a question like "why did you do that that way?" or "what if I redesigned it like this?" Users often can't ask those questions because they're focused on doing their job rather than the meta-job of improving it. They often don't realize what's possible.
That's no excuse for ignoring their suggestions, and unfortunately many users have been specifically discouraged from thinking how to improve their own experiences by developers who were lazy, incompetent, or merely bureaucracy-laden. But fostering a collaborative environment, where developers learn something about the domain and users learn something about how their tools are created, can lead to much better user experiences than either could do alone.
More to jfengel's point, it's not just UX, you have more knowledge of what is technically possible. People will often come up with very convoluted solutions to problems because they don't have a good view of what is technically possible.
It also happens that people only take their own needs into account and not those of the other users they're indirectly interacting with via the app. They'll tell you that certain app objects should have certain constraints, that certain things should be impossible, and that such assumptions can be used as foundations for other features. Then you go visit another user and they'll tell you very plausible conditions under which those things should be possible and even required. Talking to users is good, but you also need to observe them as a group and sometimes weigh their needs against each other.
If they're so deluded about what they want what makes you think you can see through that and find a solution more clearly than they can?