It is much more efficient
It scales better
It offers much greater machine density
It offers a larger number of resource management parameters
Resource management is dynamic so no container restart is needed
OpenVZ is able to achieve better performance (so close to native it is hard to measure a difference), scalability and density because there is a single Linux kernel running on the physical host with each container only taking up the resources necessary for running the processes / services you want inside them without all of the overhead of a full operating system. A basic container might be between 8-14 additional processes on the host node. OpenVZ can also handle more advanced applications such as huge multi-threaded Java applications with hundreds of threads / processes given the appropriate amount of container resource management configuration.
Another advantage of OpenVZ is that it offers a wide range of dynamic resource management parameters including several for memory usage, number of processes, CPU usage, disk space usage, etc... all of which may be changed while the container is running. OpenVZ also supports container disk quotas as well as (optional) user and group disk quotas within the containers.
OpenVZ offers a number of advanced features including checkpointing and container migration from one physical host to another. Migration comes in two forms:
Live migration minimizes downtime (only a few seconds) and maintains machine uptime and network connections
Offline migration where the machine is stopped, migrated, and then started back up again.
The migration features of OpenVZ do NOT require a shared storage solution and utilizes rsync to flawlessly copy container directory structures from one physical host to another.
When NOT to use OS Virtualization
While there are a large number of usage scenarios where you would want to use OS Virtualization, there remain a few scenarios where OS Virtualization is NOT suited and machine / hardware virtualization would be preferred:
When you need to run non-Linux OSes
When you want to run multiple kernel versions
When you need a highly customized kernel

