I’m a happy VirtualBox user.
I used Parallels for several years, and it does have a little bit more polish than VirtualBox, but the latter runs quite nicely and has a better price (free).
I gave up on Parallels because they were incrementing their major versions a bit to frequently for my taste. With each major version there were New and Amazing Features that you need to upgrade to get. Basically, I felt that it was sometimes just a money grab. In addition, they were spamming me with marketing emails even though I went through the “unsubscribe” process dozens of times. Two strikes.
I decided to look at VirtualBox, expecting it to be some clumsy command line implementation with difficult configuration; after all, Parallels is expensive and VB is free. I was pleasantly surprised that VB is almost as good as Parallels, at least as far as the light computing I do in Windows VMs (Office apps, Photoshop, videos, but no gaming).
I run an XP VM and a Win7 VM, with the occasional Ubuntu VM when I’m testing some Unix stuff.
Note that the comments regarding Bootcamp running on the hardware vs. VMs running on virtual hardware might make one think anything but Bootcamp would have terrible performance: I originally thought that tools like Parallels were interpreting instructions and thus would be clunky and slow; this is not the case. Parallels and its brethren use hardware level virtualization features that allow the machine instructions to run directly on the CPU. In a multi-core machine you can designate how many cores run your VM. These VM products are pretty darned fast.