Upgrades like that kind of suck for everyone though. The users, the developers, the businesses.
Users expect software to get bug and security fixes. By having 1.x, 2.x and 3.x versions, developers have to maintain 3 different versions.
It also forces developers to add new features even if no one wants them. Plenty of good apps are essentially feature complete, but in an upgrade centric world there has to be constant new features. This often makes apps worse.
Subscriptions are a good way to balance the needs of users, developers and businesses.