I have the belief that Internet Explorer 9 unable to run on Windows XP is really marketing. But I want to ask you if there really is a technical reason why Microsoft didn't release Internet Explorer 9 on Windows XP?
Internet Explorer 9 makes use of two features available in Windows Vista and Windows 7, Direct2D and DirectWrite to speed up the user experience and they are unavailable in Windows XP. There are some minor security features that rely on the newer OS's security models and also make it incompatible with Windows XP.
Get the full down low at Ars Technica - The most modern browser there is: Internet Explorer 9 reviewed.
Well, they could have written Internet Explorer 9 to work on Windows XP. Part of the reason is to move people away from Windows XP, but that's not JUST marketing, Windows XP really is outdated and full of security flaws. It's in everyone's best interest to ditch it, not just Microsoft and hardware vendors...
MS, like many software companies, don't make decisions purely on technical bases. This decision, more than likely, was based on the costs of continuing support on older platforms, and the loss of sales of newer platforms. XP is ingrained in millions of desktop PCs sitting in offices and any small additional excuse to get these corporate IT behemoths to upgrade their Windows licenses is going to be a strategic move for MS.
The above article goes into more detail, there is shown that it also turns out that Firefox does support Direct2D & DirectWrite on Windows Vista & 7 but on Windows XP it falls back to software mode. But I wouldn't blame Microsoft for not writing this functionality into Internet Explorer 9...
The outdated kernel of Windows XP doesn't include new features that Internet Explorer 9 needs to function, such as Direct2D and a few others (mentioned in answers elsewhere).
However,they were able to work around it, but dude seriously, Windows XP now needs 3 more years to be teenager!