The handful of things I can add to that:

For home users, a major consideration in virtualization systems is
whether they require hardware support.  Xen, KVM, and I would guess
ESX all require that your CPU have virtualization "extensions" /
"flags".  In modern CPUs, almost all AMD ones have this (even in the
budget lines), but Intel restricts it a bit more to their higher-end
products.  The older the CPU, the higher end it had to be to have
them, as the entry of this technology into the consumer market instead
of pure datacenter rigs is relatively recent.  Due to this, my
personal experience so far is only with VirtualBox at home, as I don't
have that support and so needed this kind of product.  (I also used
VMware Fusion briefly at work.)

While I haven't had a chance to use them yet, I can point out some key
things about KVM and Xen.  Both are bare-metal type hypervisors, like
ESX.  In addition to the usual x86 and x86_64, both also work on
IA-64, and KVM also works on PowerPC and s390, if that's a concern for
you.  Xen generally uses paravirtualization with a modified kernel,
which can be a complication depending on your environment, although
with hardware extensions in the CPU it can also run unmodified guests.
 KVM uses unmodified guests.  Both allow for live migration.