KVM is true virtualization where the VPS operates as its own server, independently of the host node. OpenVZ is a container style of virtualization which relies on the host node's kernel. KVM has no restrictions in terms of functionality, but it has more overhead than OpenVZ. OpenVZ is constrained by the host node kernel, but it has less overhead in the containers themselves.
What is the difference between KVM and OpenVZ?