Quite a few people on XP are there because its what they know. It also is all they need. Personal example, I would love to replace my mom's computer but she likes her version of Office which was the version we installed when she obtained her PC, which runs XP. I suspect she isn't alone in not wanting to change something that works.
For many people tech is just the annoyance they have to put with to do what they want to do. Top that off with hundred dollar or more to upgrade and why should people do it? At least Apple got it right, FINALLY, after many years of charging for OS upgrades to not doing so.
Having helped organizations with donated computers I am not sure there is a real alternative. Linux? Really? Its hard enough sourcing decent used machines for people, I certainly am not game to loading Linux and then teaching them to use it. Perhaps if there were one install and software was available at the store... do you understand?