XP is still being used mainly because it works and people look at it with no reason to change.
Way back in the early 70's (1974 to be precised) VW introduced the world to a new car - the VW Golf Mk. 1. To this date VW are still making the VW Golf, ok it's now on Mk. 8 but in comparison to Microsoft's attitude the VW should have replaced the Golf in 1980 and forced all their users to upgrade to a new car. But VW didn't discontinue the Golf - why? because it works, people like it and it's still making them money after 40 years.
XP is a nice operating system, it is very basic and doesn't require a lot of hardware. It looks professional for a business - if you run a business you can either have an OS that your employees can just come in sit down, log in and get on with work, running the program they need from the desktop without having to battle with the distraction of the Metro interface and having to switch between Metro and Desktop to access major programs (or even worse try and use the program on a 17" screen using an interface that was designed for 7" screen)
Also the other thing that Microsoft has forgotten is that in businesses, many businesses run XP through thin clients from servers. XP is simple and doesn't put a huge requirement on the server to run it for each thin client. It is more secure and stops the employee from doing things they aren't supposed to because the thin client is running a basic version of Unix or Linux and the XP the end user sees is protected from any major changes - such as virus infection - by the server - putting an infected USB pen drive into a thin client running Unix won't affect the virtual machine because the Unix protects the copy of XP running on the server. 7 however takes so much extra resources it would be a major upgrade, and when you go up to Windows 7 what is the actual difference between XP and 7? Very little it's got a start menu, it's got a desktop, it runs programs, the only thing is 7 needs a lot more hardware so what is the point in upgrading?
As for Windows 8, ok it's a lot different to Windows 7 or XP, but I'm not 100% sure how or whether Metro would work through a thin client system. I've not seen it been done yet, but I guess it must have been. I tried through VNC and it was just too confusing 'cos VNC tried to fit both the metro interface and the desktop together onto one screen (although that 'could also be because my main computer has two screens where as the computer I was connecting it to only has one). I have found that Windows 8 does work much better with 2 screens - you have the desktop on one screen and Metro on the second one (although as MS developed it mainly for a single screened tablet I don't think that was quite Microsoft's idea) and even with two screens sometimes 8 does get a bit confusing especially when trying to access the hotpoints on the edge of the screen and there is a fine point between getting the hotpoint to appear and the mouse cursor going onto the second screen!
Maybe Microsoft should have took the VW attitude with XP and instead of renaming Windows, just kept with the XP name and made an XP Mk 2 which was similar to XP but had various things fixed. Maybe if Microsoft had tried this then people would be a lot more happier and in 40 years time we could be on XP Mk 7.
I've got a laptop and a main PC - the main PC was upgraded when Windows 8 first came out from Vista to 8 - At first I was glad to get rid of Vista, however after a week of running 8 I began to realise I might have jumped out of the frying pan into the fire - the only thing that actually made 8 usable was to install Stardock Start8 software and put the start menu back where it belongs - I've got a feeling the Metro is going to end up going the same way as Aero did in Vista. Vista wasn't that good, but 8 was even worse. At the time I also nearly upgraded my laptop from XP to 8 too, but after trying 8 out for a week I decided that my laptop was going to stick with XP if I need to run Windows - as having ADHD 8 is way too distracting to get any work done with it. At present my laptop runs Puppy Linux, and has a virtual machine set up to get into the XP that was originally installed on it and it works fine. I can do the most things through Puppy Linux, and it's only occasionally I have to switch to XP - mainly to learn Dutch 'cos my Dutch learning program isn't available on Linux and won't run through WINE.