These are some of the few differences I know of from my research but as I always say, it all depends on the user's preferences in choosing.
OpenVZ can ONLY host Linux operating systems
KVM is more flexible and can host Linux, Windows, and custom OS options.
OpenVZ allows complete sharing of resources meaning once you have hit your allocated RAM provided to you by the host, the remaining RAM becomes a free-for-all for users on the server. This is not a problem if you run small applications, but you may be in trouble if you are running something more resource intensive.
KVM allows you to set maximum and minimum values to your resources, so that you only use the resources your applications need.100% of the RAM and disk resources are dedicated to one individual user.
OpenVZ servers are of a cheaper cost than KVM servers.
OpenVZ provides the user with fast speeds and scalability, and it's more affordable.
KVM offers private virtualized hardware including network card, disk and graphics adapter, and guaranteed resources for increased reliability and customizability. KVM packages are ideal for serious resellers, game servers, small businesses, and medium-sized enterprises.
I hope this information is of help to you.