Implementing every requested feature, without questioning the tradeoffs
involved, would be an absolute disaster for future maintainability of
any computer program or programming language.
It is the programmer's (designer's) job to glean from the users'
request just what the problem is he is having and come up with a
solution.
The users have no clue HOW the problem is best solved.
I find it highly useful for a programmer to actually USE the code in
production over a day or two as a humble clerk. He will see all kinds
of opportunities for improvement a naive user would not think to ask
for.
I remember doing a banking system back in the 70s. The users were
asking for all kinds of things that were extremely hard for computers
to do but were easy for humans. The users were asking for what they
thought would be EASY, not useful. The were astounded to learn that
it is trivially easy to maintain lists is several different orders at
once. They never dreamed of asking for the "impossible".