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.
How many times have you launched something only to find the UI had been redone, some feature was now gone or changed, something that worked was now broken, etc.
But it's fine, you see, because we have telemetry and observability and robust CI/CD.
Users and their work are nothing more than ephemeral numbers on a metrics dashboard
But, hey, they managed to add a Tron cross-over tie-in feature, and maybe some new fart noises!
Undoubtedly when they fix that radio bug, something else will fail. Like the SRS (supplemental restraint system, aka airbag) error message that was introduced at some point in the past six months, then silently got fixed with a more recent firmware update.
And, you know, FSD 14.2. :)
Ownership is a critical and fading concept for software. And it makes me really sad and frustrated.