Nobody is really competing because nobody can build a complete product. So there's less pressure to fix the little irritations. Users are mostly satisfied, and problems get worse slowly enough that for the average user they don't notice right away how bad it's getting. So they stay because it's too hard or completely impossible to leave.
If you're dependent on updating your OS for security fixes and basic compatibility, you are also forced to update the things you may not want to. It's all bundled together.