Short answer: to ensure compatibility with 3rd party apps not made by MS.
- business/marketing purposes (nearly 100% compatible with all current applications!)
- make development of Windows OS easier (not as much need to explicity code for backwards compatibilty on case-by-case basis)
Longer answer:
Obviously, XPM has huge ramifications
for Windows going forward. By removing
the onus of legacy application
compatibility from the OS, Microsoft
can strip away deadwood technology
from future versions of Windows at a
speedier clip, because customers who
need to run older applications can
simply do so with XPM. For Windows 7
specifically, XPM is a huge
convenience, especially for
Microsoft's corporate customers, who
can of course control XPM behavior via
standard Microsoft administration and
management technologies like Active
Directory (AD) and Group Policy (GP).
And it significantly recasts the
Windows 7 compatibility picture.
Before, Microsoft could claim that
Windows 7 would be at least as
compatible as Windows Vista. Now, they
can claim almost complete Windows XP
compatibility, or almost 100 percent
compatibility with all currently
running Windows applications.
source: www.withinwindows.com
Backwards compatibility is a huge, necessary burden for Microsoft. The XP virtual machine is a way to keep current XP users (mostly businesses) happy without stifling innovation and costs associated with maintaining backwards compatibility.
Microsoft must keep Windows compatible with previous versions otherwise current users will not upgrade. Users' 3rd party apps may be difficult, if not impossible to update for Windows 7. If their software does not run on Windows 7, it is a huge mark against it.
Besides being a pain for Microsoft developers, backwards compatibility also stifles innovation. Often backwards compatibility means Windows cannot be redesigned in a major, beneficial way. Raymond Chen describes it well: the cost of backwards compatibility is the design.