In theory sure, in practice programmers are often making a large number of such decisions because nobody else in the org is as invested in the specifics.
The last product I helped launch, I raised concerns about the long term maintenance cost of some unnecessary bells and whistles that early access customers didn’t even like. The product owner actually let their mask slip as directly told me that that wasn’t their problem. They’d have questions to answer if they yanked features that had already been prototyped, and besides, as soon as the product ships they would move on to a new initiative and any ongoing maintenance burden would be some less senior PM’s problem.