Well, it depends.
All of the virtualization platforms out there are essentially based on QEMU. All of them read the QCOW file format. All of them have their own implementation and direction of that initial vision.
My experience with KVM is that it is focused on Linux and Windows support. There may be less you can configure under the hood with KVM than with Xen, but if you are a windows and linux shop, or just a linux shop, KVM is awesome. KVM is also the ONLY solution I would try to deploy under RHEL or derivatives, as they dropped Xen support in 6.x. Xen support will be back in 7.x, but that is because RHEL's dropping of support for Xen open source pissed off people on the kernel dev team, so they decided to add it to the kernel directly.
My experience with Xen is that it has a much broader focus, and is more component accessible. The virtual machine hardware and the management tool sets can be easily swapped out for custom ones. I have a number of virtual machine BIOS to pick from if I run into a BIOS bug. I can support BSD and other systems that KVM doesn't, or doesn't do as well. We use Xen as our go to platform, but deployment of KVM would have been faster in some aspects if we didn't need multi-platform support. Xen documentation I've found is also more mature. AFAIK, Xen is the basis for the Amazon EC2 cloud platform (I could be wrong about that). Ubuntu and debian have good support for Xen, but documentation of, say, building a multiple vlan 802.1q networked solution is a situation of YMMV.
My experience with VMWare is that it is a great pay virtualization environment, provided you are willing to shell out for their recommended hardware as well. Setting up things like live migration and cloning are easier with their GUI and step by step instructions. If your company is going to pay for all of that, then it is definitely something worth taking advantage of, as the learning curve is much more accessible (but, it also means you can shoot yourself in the foot faster as well). But the moving target of licensing and hardware requirements are an issue, and my workplace is migrating away from VMWare to Xen because of those issues. Again, if the will to spend is there, it is just fine. I would only use the free solution as something to learn on.
Jails and chroots are nice in a single platform environment, because why waste time on overhead? But the downside is that it is single platform. I'd go more into that, but it isn't really relevant to this discussion. What I would really love to see is something new under the BSD's that offered multi-platform guest support as a host.
All of the the three big players- KVM, XEN, and VMWare are part of OpenStack, so you can use the OpenStack API. If you are ever going to migrate, or have to have cross-compatibility with other virtualization platforms (business parternships can warrant this), then having OpenStack tools available can be really helpful if you want to write the code for it. All three are also supported by OpenNebula, which is an open source pointy clicky interface that can manage all three platforms- provided you can code in your customizations, which could include live migration, etc.
Certification and education are another factor. VMWare wins that one hands down, as they have web accessible training and an easy certification path. The only way you can easily certify on Xen is to get LPIC-3 certified, which will also certify for KVM. The other option is to take the RHEL series (woah, big dollars!), and get certified at the RH Architect level in KVM. The LPIC route actually costs less than the other two, but there are no classes available at that level. Most businesses are familiar only with the VMWare cert path. Also, most companies that have a strong need for someone to fix their problems don't really care which virt solution one has experience with- they care about having an understanding about how all of them work under the hood so that their structural issues are addressed.