http://www.magnet-i.com/magnet/ezine/15Jan1999/ff
Bill Gates and Paul Allen didn't have enough time to get their BASIC interpreter working for the MITS Altair 8080. Paul Allen did the hard work of making an 8080 emulator for Harvard's PDP-10 mainframe computer. Gates and Allen were then able to enlist fellow Harvard student Monte Davidoff to implement the floating-point arithmetic portions of the language...
Indeed, had his emulator failed, he'd be in a very sorry state.
Now consider why each new version of Windows or the Windows API or DirectX or whatever is so radically different and that much more convulted and bloated than the predecessor. From the days of OS/2 to Linux, there have been emulators that will run Windows and Windows programs. In the OS/2 days, Microsoft often changed their OS's structure just to make life more difficult for people using OS/2's windows emulation (I know that firsthand, especially with Win32S...). In the Linux days, full emulators have been made - the only way to stop their use is to make the OS big and bloated.
Windows Longhorn, as it stands, needs 5GB of hard drive space and is so bloated that current top of the line hardware can't run it at ideal speed.