I use Virtual Box to run various Linux distro's on my Vista laptop. It seems bug free and easy to use. I've yet to find any OS that won't run inside Virtual Box but I've never tried the various variations of Windows.
You will need a reasonable amount of memory and hard disk space. You essentially steal memory from the resident OS as you will be operating two or more OS's - so it depends upon how much memory each of the OS's will run in comfortably. In my case I keep 1GB for Vista and divide the remaining 1GB between the OS's I want to run.
You can chose a dynamic hard dish size (you specify a minimum size and if the OS's needs more it will increase to the minimum size it can operate with).
You will find a few wrinkles. For example when I'm running email from Linux I find that my Vista version of Avast email scanner still checks the mail and stamps it virus free.
Taken all round this is a simple and useful way to run a second OS without the need for special formatting or partitioning of your hard disk.
Finally when exiting Virtual Box you have several options including 'save machine state' which is a bit like hibernation - the next time you start it takes you back to exactly where you were when you last closed Virtual Box.