Probably because Windows XP is well over 10 years old. You can't possibly expect them to support it forever just because some organisations can't be bothered to upgrade.
They need to fix the bugs that are being exploited by hackers. If major corporate customers are still receiving fixes why can't they be extended to every one else? After all it is the same software everyone is running.
10 years is young in industry. I recently saw a VAX 11/780 in the field still operating doing real work.
To throw the towel in on an OS which has the same subset API as a recent one yet has many minor incompatibilities through shoddy API design (win32) is a shitty business model which people shouldn't have to shovel cash at over and over again.
What organizations? Do you have an idea about how many small business and home users are still running Windows XP?
As far as they are concerned if it is capable of doing what they bought it for, why should they upgrade? Software doesn't wear out or breakdown like a physical good and a lot of the hardware is still fine. Those systems are going to be around forever until the hardware breaks down.
They are also committed to providing upgrades for their bigger customers, so why can't they extend to everyone else, as though it will cost them extra? The only caveat for the non corporate customers should be that if they are not under a support contract and the upgrades break their systems they are out of luck.
Well, uh, then why does Microsoft need to do anything, if it's still as good as they day it was first sold?