Ok, let's go step by step.
If you plan a migration from Windows to Linux, you must know some things.
I'll try to make it as easy as possible.
Windows and Linux are Operative Systems and applications use
OS for working. So, as you may imagine, a software designed for Windows, doesn't work in Linux.
Reguarding hardware, well probably you won't get problems with it if you have common hardware... but I can't say for sure it'll be easy. Most times it is. After all, when WinXP was released many people had serious hardware problems while upgrading but I guess the price of that OS is low enough (hey, I'm joking).
Reguarding buying software. Well, yes, you can buy software for Linux... there are a few professional ports of famous Win programs, but actually I rarely felt the need of them. You can find all the free software you want in the internet, and I can guarantee you'll find what you need.
and can linux run on a pc designed for xp?
of course! Many linux distros are made for pc enviroment.
If you have more questions, feel free to email me
PS: actually, you can run windows programs in linux with an emulation software, but it depends on what want to run... but this is another long looong story