Yes Windows XP is pretty stable, simply because it's based on NT so it has memory protection unlike 9x/ME.
About Vista, I find it more an excuse to close the vicious circle between software developers and hardware manufacturers than anything else.
Processors are lighting fast today, RAM is abundant, storage space plenty... so why upgrade? Beware: by saying 'today' I am not talking about Athlon 64 X2 or Pentium D... no... I am talking about the average 3 year old system wich has 1GHz processor loaded with 256MB of RAM, 60GB hard drive, DVD, CD Burner, that runs Windows XP perfectly for basic tasks. Most people don't do CAD/CAM, you know.
That people is happy with the computer they have today because it's truly fast for the things they do. But computer industry is a business and they earn money by selling products, either software or hardware. So how to convince people to upgrade when they don't need to?
Well, I think that the best technique has always been to make software slower every day. A computer of 7 years ago runs Windows/Office 95 almost as well as new computers run Windows/Office XP. A Celeron 400 MHz with marvelous 32MB of RAM and 4GB hard drive is right next to me if you doubt it.
But... people often makes the mistake of their lives by upgrading software when don't really need to. Try to run Windows ME in this machine and it will struggle. Try to run XP and it will not even run.
Vista requieres 3D hardware to render the interface. It may sound a simple detail, but with that movement Microsoft has managed to get rid on those bothering systems that still run well and provide ample performance for the staks they were intended for. By running Vista people will slow down their machines and feel the need for an upgrade and that's the whole point kids.
Linux is supposed to get rid on this tendency as it is not comrecially developed but it fails at it completelly. Linux no longer claims to run on modest hardware. It is growing fat and disorganized.
So, my recommendation, stay with Windows XP.