they actually need to be able to consistently make pretty sizeable upgrades
Precisely! It keeps them honest. Furthermore, it forces closing the feedback loop with users. Developers need to understand what features users want most, and what bugs or usability issues need to be prioritised. Not listening to feedback means no future revenue, simple as that.
The subscription model does none of that. It’s just a greedy money-grab.