Well, it helped that a Microsoft employee discovered a way to make virtualization work with their ongoing Windows 3.x design instead of having to go with OS/2.
It has been several years, but I think the story is described here "Unauthorized Windows 95", I no longer have the book.
> a Microsoft employee discovered a way to make virtualization work with their ongoing Windows 3.x design instead of having to go with OS/2.
That's sort of right. Larry Osterman goes into more detail here, but the gist is that Microsoft figured out how to run (mostly) unchanged Win16 apps in protected mode. This was released to market in 1990 and immediately turned into the best solution to get at more than 640K RAM.... which had been a latent and mostly unresolved issue for over five years. (So lots of pent-up demand.)
To some extent, _every_ Windows program on Win95 was a 16-bit program. (There was a lot of the 32-bit API that was built by thunking down to 16- bit equivalents.... one notable example was that Windows95 notepad was still limited to 32K files, etc.)
It has been several years, but I think the story is described here "Unauthorized Windows 95", I no longer have the book.
http://www.os2museum.com/wp/book-review-unauthorized-windows...