There is a middle ground in that you buy the current major version and get updates to it, but you would have to pay again if you ever want to upgrade to the next major version. (If you don’t want to, you can still continue to use the version you bought indefinitely.)
But this model introduces an incentive to artificially bump the major version ASAP so as to be able to charge again for updates. One way this happens is with feature creep, to justify a new version every few months. A "done" application wouldn't reasonably get a new major version ever, so the software becomes ever-growing and then bloat ends up happening.
There is the counter-incentive that people won’t upgrade if they don’t think it’s worth it. What you describe doesn’t usually happen, in my experience.
>A "done" application wouldn't reasonably get a new major version ever
Did that company not want to make money? Even if they want to pretend their software is done, there is incentive to just change the name, add a new feature or two, and maybe poke at the UI so it looks different enough to be a definitely new product that you should buy and not mostly the same as last time.