As I see it:
- Microsoft has always provided backward compatibility for legacy applications;
- As far as the end user is concerned, things won't be behaving any different from what they normally expect.
As I see it:
Because instead of having to limit their opportunities in developing new features due to backward compatibility, they can now basically say screw it. By bundling a virtualized version of the previous OS, it won't impact things as much when they change interfaces, system APIs etcetera - basically enabling them to be more innovative.
Furthermore, it'll also ensure 100% compatibility, which is otherwise a major reason for enterprise clients not to upgrade OSs.
1) Yes, Microsoft has always provided backwards compatibility, but it comes at a massive cost, shipping a virtualised OS significantly reduces this cost.
2) Yes, that's the point of having the virtual OS running alongside the main OS - the user won't be able to tell the difference.
Remember that Microsoft considers VM instances to be full installations of XP, and thus require their own license. So in addition to Mark S. Rasmussen's excellent answer, it's important because Windows 7 includes a complete license to a virtualized copy of XP.
Virtual PC bundling is a big deal, but I think XP Mode will be bigger. Most people don't care about the fact that they're running in a VM, they just want their old programs to work.
My problem with two instances of windows is security. Nowadays I have to secure both the host and the virtual instances and I don't think this will change with windows 7. The problem is that for a common user, it might be hard to understand the need to keep two antivirus running.
i think we have all slightly misunderstood the whole xp virtual pc. it is more like the wine scenario in linux where the app accesses windows (xp) files as necessary but actually runs by itself without opening an xp session. sort of like the way calls to install to certain locations are now redirected to a users own app folder in vista and now in windows 7.
Jeff Atwood (one of this site's creators) has some thoughts on it: http://www.codinghorror.com/blog/archives/001258.html.
Some users know that Microsoft needed to change the Windows internals to improve Windows and that means to break compatibility with old Windows apps.
But most users just used Windows Vista and were shocked that their app was not working properly so it's a good news that it'll works as Windows XP.