In your average software life cycle you see minor upgrades and bug fixes and major revision releases. Customarily the minor releases are free and are chacterised by point releases. For instance 8.0 is the initial release, 6.0.1 is a minor update to fix a release bug and it will then go to 8.1, 8.2, 8.3 etc as further updates are released. All of these are free until the next major release when we go to 9.0 and existing users pay an upgrade to receive the new software. Now the upgrade price is usually a substantial discount to pay for the loyalty of customers. Differing software companies offer different pricing schemes. All of this is quite normal and offers loyal users bug fixes, minor upgrades and discounts on major releases.
When Microsoft released Vista there was a lot of hype created around this wonderful new product but the market was underwhelmed. Not since the Windows ME disaster has there been a more lukewarm response to a Microsoft OS. One would have thought that they would have learnt from Win ME. Be that as it may, The initial release of Vista had so many issues one has nightmares just thinking about it. But it is true that the updates did make it marginally more usable. It is interesting to not however that the actual revision number of Windows Vista is 6.0. Now here is the thing. Windows 7 is release 6.1. The reason that MS give for this only being an incremental number is that a change in major release will cause a lot of software to not run. I am not entirely convinced. I believe that in fact Windows 7 is simply a service pack on Vista with a minor GUI upgrade. Why do I say this? Let me explain.
If they changed the version from 6.x to 7.x then they could simply provide a check box in the program's properties to make it think it is Vista. After all, that is exactly what they did to XP programs that did not run under Vista, and there were precious few of those.
All Vista drivers work in Win 7, which means that the kernel driver sub-system was substantially unchanged. This has not been the case for any other OS upgrade. Vista required all new drivers because the driver subsystem was changed. Same drivers = same OS.
Win 7 was only what Vista should have been in the first place. To its dying day Vista was a retrograde step for 99% of people. There are I/O issues. There are memory issues. There are performance issues. None of which have been satisfactorily addressed despite all of the updates, until now that is.
I maintain that Win 7 is primarily a patch fix for Vista and should be free to all Vista users. MS however put in all the fixes for Vista and in order to sell it as a new OS release they gave it the synthetic "7" moniker, added some interface changes and marketed it as a brand new OS.
There were I believe several motivations for doing this. First they wanted to make money on it. The sales of Vista were way below expectation and MS lost a lot of market share as a result of the issues. The only way to recoup the loss in revenue was to make everybody pay all over again. Second to release Win 7 as a service pack for Vista would be admitting that Vista was in fact broken, at beta level on release and this would have been a loss of face. Third they wanted a clean break from the damaged Vista branding. Vista has acquired a stigma that MS wanted to break from and the only way to do this was to pretend that Win 7 was a new OS, rather than the patch upgrade that I contend it is. So for MS to regain their place as market leader in operating systems they believed it was necessary to present Win 7 as a mew OS and to try to cut the link to Vista.
I believe that MS should have released Win 7 as a service pack. This has been the principle in the past and I believe it would have worked here. Sure they would have not had as many sales but their sales of Vista would have taken off once people realised that the bugs were gone. Reviewers were universally negative on Vista, but the same reviewers were universally positive on Win 7. All MS needed to do was to engage in some subtle marketing and Vista's image would have turned around on the back of a substantial service pack. Remember XP in the pre-service pack days? It too was bug ridden and unstable, not as bad as Vista I will grant, but not the wunderkind that it became after the service packs. The XP service packs also added substantially to the features. As much as Win 7 did over Vista.
To release Win 7 as an upgrade comes down to one thing, greed. MS needs to keep the $ signs in their eyes rotating at great speed and to do this their revenue stream has to be maintained, and what better way than to package an OS upgrade and an entirely new OS and to charge accordingly.