@tomelk31 -
VMware is pretty much the de facto standard for virtualization in the corporate world. It has tons of features, which if you are new to virtualization I won't get into here since most of it will go right over your head (no offense).
Parallels is an application made specifically for the Mac. One thing I like in particular about Parallels is its seamless mode. Basically it allows you to put a Windows program in your Mac's dock and run the program directly from there, as if it were a native Mac application.
Virtualbox is my application of choice for home use. Its best feature in my opinion is that it is free (although you can get certain versions of VMware for free as well). It has all the features that I need for home use without any of the hassle that comes with VMware, which is necessary for the custom setups that enterprise environments need. That's not to say it can't be set up in a number of different ways, however. I've even used Virtualbox in a pinch in production at work to get a VM up and running temporarily until I can get VMware running on the machine. I also use Virtualbox extensively for testing new images as I build them.
At home on my iMac, I use Virtualbox with a Windows 7 VM running in full screen mode on a separate space. That way, with a simple gesture on my Magic Mouse, I can switch effortlessly between my OS X and Windows 7 desktops. Most of my files are stored on a network drive, which both OSes can map to, so file sharing is not an issue either. The VM is setup with a NIC in bridged mode, so to my network it looks like the VM is a physical machine and receives an IP address on the network (192.168.1.XX instead of the 10.0.2.XX you get with Virtualbox set up with the default NAT). This allows the VM to access network services (like file shares, printers, etc.) as if it were another physical machine on the network. I don't do any gaming on my Mac (I have a separate Windows box for that) so to me, for the occasional Windows program I need to use, this setup works perfectly.