Virtualization questions-Collection of common programming errors

I have never used virtualization, and am trying to get up to speed. My new desktop is coming today and I specifically bought it to try and run all my needs on a single machine (i.e. a vista desktop, a xp desktop, vs 2005, vs20008, windows servers, sharepoint, sql server 2000/2005/2008 etc). In the past I always bought and setup separate physical machines in my home office for each of these apps. (which is why my basement is sometimes confused with a small data-center.)

None of these virtual servers I setup will have a heavy load, just want them “on-line” for development and testing.

So my question is, which free virtualization is the easiest(quickest, least painful) to get setup? and if my needs should change, is there any path to change from one tool to another? (i.e. how important is it to make sure I make the ‘right’ decision first?)

Second, since I likely will be running a 64Bit Vista as the ‘base’ OS (unless someone convinces me otherwise), do you basically not install anything on that OS, but instead install everything ‘inside’ a VM? Even my ‘primary’ development environment? (even my email, office suite etc?) From the messages I have been reading here, it seems the ability to move and backup your entire ‘image’ is a big plus, which I am not clear if that is possible for apps that are running directly on the ‘host’.

The machine is a dual CPU quad core variety with 16G of ram and 15K hard drives – so it should handle anything.

BTW: There is probably less than a 5% chance that I will ever need to setup anything other than a Windows platform, so while it is nice to be able to setup a Unix/Linux box, its not a requirement.

So just to re-cap the question: which VM is going to have me up and running with the least amount of hassle, and should I really not install anything directly on the ‘host’ OS? Any other advice regarding getting my desktop VM strategy off to right start – any mistakes I really want to avoid that will bite me down the road?

Update 12/2011: After this original question, and all the helpful responses, I did end up going with VMware workstation and have not regretted it for a second. Its not free, but is is very cheap for all you get. I suspect the other products also would have worked.

If anyone reading this is considering virtualization, quite frankly it is awesome – what are you waiting for?. On my first VMware setup I kept my primary dev in the ‘host’ OS and only used VM’s for my testing servers, but just 6 months ago I purchased a newer machine and now run nothing in the host OS (Windows 7),and run all my tools/desktops in one or more VM’s. There is a slight (very slight) degradation in performance to use a VM for my primary desktop, but being able to have a completely run-able backup available at all times far, far outweigh the negatives – I can even take my primary desktop on my laptop if/when I hit the road.