Openvz is a container based virtualization . It use a common kernel for all containers . It only support linux
KVM is a kernel virtual mechine . It use full virtualization / emulation and each kvm vms have its own kernel . You can create linux/unix/windows vms as you wish in a kvm node.
I prefer kvm for vps , if you search here in wht you can find a lot of discussion regarding kvm vs. Openvz