In short: openvz use the same kernel from the host - so you can only use linux-vms. kvm is full-vitualisation - you can virtualize different OS (windows, opensolaris, linux...).
OpenVZ is only partial virtualisation. (Virtual Machines can share some of the hosts files like kernel.)
KVM is is full virtualisation. It is completely isolated from the host.