Looking at it from the perspective of a developer - I'd be fine with one-and-done pricing, as long as it only runs on the version of the OS it was developed for. And perhaps some customers would be fine with that... I know there are still people out there running OS X Snow Leopard or iOS 14, etc.
But of course most users will want to upgrade their OS, and that will require ongoing maintenance to keep the OLD versions of the app running on the NEW versions of the OS. As a dev, now I have to decide if the effort of updating the app is worth any NEW users I might gain, because all of those original users are now sunk-costs. At some point I'll decide nope, it's not worth it, and just abandon it.
And that's where subscription model makes sense to me. Instead of paying $$$ for an app, I'll pay $ for a year - renew it at $ the next year - and so on and so forth; but I'm confident that the app will continue to support the new versions of the OS as I upgrade. And of course if it does not - I quit paying the $ and the developer loses that revenue stream. So they're incentivized to continue updating.
Ultimately, of course, I'm paying more for the app (over time) than I would have if I'd paid for it all up-front. That assumes that I do continue paying for it - which means that the app is still running well and handling the updates properly. But I also have the option of discontinuing payment if my needs change, or the app isn't keeping up with the times. That's a fair trade-off to me.
Reasonably-priced subscription model is really a win-win. Devs get an ongoing revenue stream, and users get reliable operation and regular updates; plus the ability to only pay while they're actually using the app. One-and-done is great for users; not so great for devs.
But of course most users will want to upgrade their OS, and that will require ongoing maintenance to keep the OLD versions of the app running on the NEW versions of the OS. As a dev, now I have to decide if the effort of updating the app is worth any NEW users I might gain, because all of those original users are now sunk-costs. At some point I'll decide nope, it's not worth it, and just abandon it.
And that's where subscription model makes sense to me. Instead of paying $$$ for an app, I'll pay $ for a year - renew it at $ the next year - and so on and so forth; but I'm confident that the app will continue to support the new versions of the OS as I upgrade. And of course if it does not - I quit paying the $ and the developer loses that revenue stream. So they're incentivized to continue updating.
Ultimately, of course, I'm paying more for the app (over time) than I would have if I'd paid for it all up-front. That assumes that I do continue paying for it - which means that the app is still running well and handling the updates properly. But I also have the option of discontinuing payment if my needs change, or the app isn't keeping up with the times. That's a fair trade-off to me.
Reasonably-priced subscription model is really a win-win. Devs get an ongoing revenue stream, and users get reliable operation and regular updates; plus the ability to only pay while they're actually using the app. One-and-done is great for users; not so great for devs.