Subscriptions are preferable to one-off payment for a software product primarily because software incurs an ongoing cost (support, maintenance, enhancement etc which users have come to expect and also servers etc for any online features the software needs) and therefore it’s better to match that with an ongoing revenue stream. If you have an ongoing cost base but only point-in-time revenue then every sale you make is essentially creating future problems because you are creating future cost that isn’t supported by revenue. You essentially have turned your business economics into a Ponzi scheme and can only keep going if you perpetually grow sales which is not sustainable.