It depends on what you want to do with your virtualization.
If you are in the enterprise market and doing in house enterprise private cloud for your SAP or Oracle solutions and such, then I would recommend VMWare. It's toolset it perfectly positioned for the enterprise market. I however would never ever use VMware in the public cloud hosting market, it's cumbersome and not really well suited for it. Also the licensing is insane.
Hyper-V is ok, I've never really been very impressed with it, but it seems to do the job. However in saying that, I think Azure Cloud uses it successfully. I would imagine for Windows based VM's, Hyper-V would be the best choice.
Xen - Xen is great in the enterprise and the mass cloud hosting market. It gets the job done, is mature and is rock solid.
It's the defacto Hypervisor for Amazon Cloud and Rackspace Cloud. However I am not sure if this is simply because at the time of launching their cloud, Xen was the best choice. It doesn't necessarily mean it's the best choice now, but it certainly was 3/4 years ago.
KVM - is the newcomer to the market, is built from the ground up and is part of the actual linux kernel.
Red Hat has pumped a ton of development into it and KVM is fast becoming the new defecto in cloud hosting. Digital Ocean, CloudSigma and other large amount of public clouds now run on KVM or are moving towards KVM. It's far simpler to tweak and build on than Xen. In the last 2 years there has been massive growth towards KVM and is the hypervisor of choice for OpenStack. It is rock solid and performance is great. We use KVM as our public cloud hypervisor of choice.
At the end of the day it depends on what your virtualization requirements are.
Here at Domains.co.za, we run a mix of XenServer and KVM, depending on the virtualization requirements of the solution.
Dave @ Domains.co.za