Speaking from a consumer perspective, there should be definitely 2 options:
1. You pay for a subscription $X per month and get the newest updates.
2. You pay $Y*X once, but then you are left with the version which you bought in the first place.
Why you might need updates: 1. New functionality (if you need a particular feature that was not available before) 2. Security issues
These are not industries where people make programmer wages. Combining all of the required software costs is very expensive. Subscriptions more closely match the model/needs of the producer, but they are often quite bad the consumer.