Main difference between the XEN and OpenVZ is that, the OpenVZ supports only Linux operating system while XEN is compatible with Linux as well Windows.
XEN has the isolated and separate modules which makes it more isolated, customizable and dedicated solution. It can schedule CPU resources and provides dedicated and virtualized memory.
In OpenVZ, you have guarantee of the resources received from the system when you want. If you are overselling the resources then OpenVZ is reliable and profitable solution.
If you are looking at isolated and reliable solution then XEN is best but more costlier.