Over the years I've noticed that many a software I once 1-off purchased is not supported anymore on my latest (security patched) OS. While technically possible, it's not practical to run that old software on the old OS (corporate security foo, old OS only running on unavailable hardware, etc). So I end up purchasing the next major version regardless of new features.
If we compare the two models in regards to "price for having access to the software for a long timeframe", you pay for compatibility/security updates either way, just in the purchase model the cost curve is a lot bumpier than in the subscription model.
As someone earning a big part of my income from self-developed SaaS subscriptions, I can tell you it's a life changer for my attitude. In the old model there was always this nagging voice in my head. "This customer support ticket is from a customer who last paid me 2 years ago and they don't have a support contract and who knows if they will ever buy the new version."
So while my general ethics are in favor of providing good customer support, the monetary incentives are really stacked against it on the purchase model.
In my experience customers don't want to hear about all the issues we deal with (lib updates, security patches, UI fixes, you people know the drill), they just want to know what the software can do for them and how much it will cost them to have access to it working for a certain amount of time.
Interested to see what others think!