I'm not a certified accountant either but I took the course just to understand workings of my business.
> they can change to allowing the user to keep the latest version they upgraded to without serious consequence
It'll be in their best interests if they did.
> you can just as easily sell "product version X with one year of updates" which is very common as well, and mark that as revenue right away
You definitely can. But you end up overstating your revenue and in turn your profits. The downside to that is you end up paying high taxes (unless you can minimize your profit by showing a ton of expenses as well). If it was instead treated as Unearned Revenue (which is a liability), you would be stating your true income and showing lower profits and thereby paying lower taxes.
Take for instance the case where your customer purchases a multi-year subscription. This causes a higher cash flow (assets go up) but you won't be overstating your income (as liability goes up by classifying it as Unearned Revenue instead of owner's equity). The liability can be reduced by claiming it as revenue over a multi-year period. If it was marked as revenue at the time of sale, the owner's equity (retained earnings) would go up. That would mean showing higher income which results in higher profits and you end up paying high taxes.
Remember that with unearned revenue you can carry it over to multiple financial years and spread your income between them. You lose out on this important tax saving component if you mark as revenue right away. This also has the advantage of portraying a true picture of your business in your books of accounts.
You are absolutely right! That's exactly how it should work but it's surprising that they don't do it that way. I can give you an explanation from accounting perspective: When the sale happens, the accountant would record the sale in their Books of Account as "Unearned/Prepaid Revenue" (as a liability). It makes sense as you have taken money "in advance" for a sale but haven't delivered the updates yet and hence you cannot claim it as Income. Every time you put out an update, you can claim a portion of the "Unearned/Prepaid Revenue" as "Revenue" and push it from liability to "Retained earnings" account as Income. When the year expires (note that the year is for the user not the financial year) the accountant would claim the remaining Unearned/Prepaid Revenue as Revenue/Income.
I wonder how they manage their Books of Accounts if they have defined that the license falls back to the earlier version. What they are doing doesn't make sense from an accounting perspective as well!