I agree! You are coding ideas for people, but somebody needs to translate those ideas into code for them to work, and what might be planned might not be the best or most efficient course of action.
Yet they get to value market ideas and their impact. Moreover, they love to hide this behind anonymous "units" and "divisions" to redirect blame and responsibility.
In the past, such problems were solved by analysts and focus tests using prototypes. But when you work on the cheap, even finished applications are prototypes.