I code for a living, and it's not just our fault.
It's also the fault of marketing people and management. They think that if we stop adding "features" people will stop buying the software. They're not wrong, especially if it's a one-time purchase. Where they go wrong is that they think this is a bad thing.
Growth uber alles. The line must keep going up, no matter what.
And we developers are complicit because even if we had the balls to say no, we don't have a trade union or professional association to back us up, the way engineers, doctors, lawyers, architects, etc. do. And we don't have a union because too many of us think we're heroes out of a fucking Ayn Rand novel and don't need to engage in collective action.
But without a union, if you refuse to do something that you think is stupid, user-hostile, or unethical you'll just be fired and replaced with somebody who isn't so scrupulous.
I suspect it's not just programmers who have this problem, either. If you want to make a living in corporate America, you've got to be willing and able to at least pretend to be a little Eichmann.