It's up to web designers/developers to take the shitty ideas of their bosses and turn them into something that is at least usable, and hopefully doesn't do evil shit.
The problem is, most developers/designers get saddled with tasks like this, and they think, "I fucking hate that I even have to do this in the first place -- why would I spend another goddamn second on it?" And they leave it the shitty experience that they know their superiors will sign off on.
Like any other job your results are only as good as the pride you put into it.