Both KVM and OpenVZ are virtualization platforms. Sa KVM it's all dedicated resources, sa OpenVZ ay shared.
For example, you have a server na based sa Quad Core (4 physical cores) that can support 8 threads (e.g. Intel Xeon E3-1270 (http://ark.intel.com/products/52276/) with 8GB na RAM, the Virtualization Platform sees this up to 8 cores at 8GB RAM na pweding magamit sa allocation.
On KVM, it can allocate only a maximum of 8 cores and kung ano yung maximum RAM. For example, you can create 8 containers or virtual servers na single core with 1GB each. If all of them uses the resources at the same time, it will not show performance issues.
On OpenVZ, you can allocate more (e.g. 64 cores on an 8-thread system). This concept is based on the concept na not everyone naman of those VPS will use all the threads at the same time. Parang load averaging lang. Most servers don't go past 5% load of their potential capacity. So if you oversell at create 32 VPS with dual cores each with 2GB RAM (total allocation is 64 cores and 64 GB RAM) it's possible but it's risky.
On the application side, KVM gives a much better stability especially for systems that requires consistency. For example, an IP PBX system can work well with KVM but may have issues on OpenVZ pero pwede naman i-deploy.
In our office, I deployed a Cloud Platform using Xen. If we were using a one-to-one setup (one CPU/Server) for each funtion, we would need a room sa office at costly sa power. Pero we are now using 2 units ng SuperMicro 1U server to replace 8 tower CPUs.
This explains why OpenVZ are a lot cheaper compared to KVM. đŸ™‚
Hope that helps. đŸ™‚