In simple terms, the difference between Virtuozzo and Xen is that the former is proprietary and must be licensed per VM. Xen is open-source and is free to use by anybody. OpenVZ is the free version of virtuozzo but it is limited to the command line.
Virtuozzo uses OS-level virtualization, ie the VM is acts like a chroot. The kernel is shared between the node and the VM. This means that all VMs are using one single kernel, which takes care about proper isolation and resource management for all the VMs, such as memory limiting, CPU and IO scheduling. Virtuozzo VMs use the same file system (i.e. VM root is just a directory on the host, no need to have a special partition), so the host has simple and open access to the guests’ files (which is helpful in VM backup and recovery scenarios). The advantage of this set up is that you can set up more VMs in virtuozzo compared to XEN, given the node specs are same. Keeping the RAM and CPU is burstable, the VMs have a minimum guranteed RAM.
Xen uses paravirtualization, where VMs running under Xen behave as if they are running on a dedicated box, so each Xen VM runs its own kernel, can load kernel modules etc.. The VM is given virtual hardware to run its environment, and therefore, resource statistics look as if the VM is running on a dedicated box.
since the Virtuozzo shares the RAM and CPU between the VMs, a poorly configured node can go down if one of the VMs hosted in the server abuses the resources. There are chances that some applications may not work in VMs which require specific kernel modules. Because we need to allocate dedicated RAM and CPU to each VMs created in Xen, and it is not using shared resources, a VM in Xen cannot take the entire node down. But the number of VMs that can be created in a Xen server will be less than what we can do in Virtuozzo, so the VMs in Xen can cost more than that in VM.
The I/O speed in virtuozzo is high as it is using the entire resources, so zen servers can be a bit slow in IO. Since Zen supports custom kernels, you can provision multiple OSs in Xen while the number of OS that virtuozzo supports is limited. But you can provision VMs faster in virtuozzo, compared to Xen.
The popular choice is now Xen because of the stability that it is offering, but it entirely depends on what you need to have for your business.