I experienced with the both of the aformentioned OSs. So I'll do this from my own experience not based on the internet or external sources.
Windows 7.
Pro:
-slick, fantastic design and friendly interface
-low on resources ( Way better than Vista which is a monster)
-Faster booting times than in XP(seriously)
-Incredibly high potential for tweaking(I tried this, by doing stuff like editing registries or from msconfig and much much more)
-Ultimately, a lot more better than Vista(which was a totaly disaster)
Contras:
-Though better than Vista, it still feels like a rehash(mostly)
-Some incompatibilites with certain PC components
-Unstable on some machines(from what I've heard the perecentage is 10% so it's not alarmating)
-Takes a lot of time to get rid of some annoyances and tweak it(e.g: UAC which is a pain in the ass and more)
Windows XP
Pros:
-Very user friendly interface
-Most stable Windows available
-Very, very low on resources
-Performant( I mean the way it works, the fast boot times and smooth experience all in all :) )
-Now, it's very cheap and affordable
Contras:
-Even at the time when it was released the visual appearence was very ugly
-Low potential of tweaking(compared to win 7)
-It crashes pretty often(Blue screen of death)
The winner: Windows 7
Why?
It is a step forward the future, both visually and technically. Once with the release of a service pack, windows 7 will be as avery bit as good as it should be. Overall, Win 7 is better than XP, altough the diference is pretty small.