I think there's a few reasons for this:
1.) Lack of compelling reasons to upgrade. What does Windows Vista/7 really get you? Dropping support for new patches for Windows XP is one of the biggest reasons to make the jump.
2.) Vista's bad rep. I personally think Vista was a decent operating system after the hardware caught up to it. Once it finally did, the bad press was already out, and companies had made the decision to wait for the next version of Windows.
3.) Slowed market for new computers. Normal PCs were really slow between 2007-2009, with a lot of the market turning to cheap netbooks. Those cheap networks ran Windows XP and Linux, not Vista.