I'm an OpenVZ user. I couldn't live without it.
I use OpenVZ on quite a few servers for both business and personal use.
I use Debian Etch GNU/Linux for all of my hardware nodes except for one server where I am forced to use RHEL3. I thank Ola Lundqvist for providing and maintaining Debian packages for OpenVZ utilities and going through the effort to make sure they are provided through the official Debian repositories.
Except for a couple special servers, I always custom-compile my kernel and disable kernel module support. It is important for me that OpenVZ works with kernel module support disabled. Right now, it it requires major tweaking of the /etc/init.d/vz script for that to work.
I always use a custom-created Debian VPS template for my VPSes. For that, debootstrap is very important and useful.
I tend to do some advanced things with my VPS configurations and sometimes require custom scripts to make certain things happen correctly. For example, I have stored in my individual VPS .conf files the necessary settings for port forwarding through the hardware node to the VPS for certain tasks as well as defining the SNAT IP address if necessary. I then have scripts that read the individual VPS and global .conf files that perform specific tasks like port forwarding, firewall settings, and disk mounting.
I don't use .mount and .umount scripts because they don't quite do the job as needed. Sometimes the command needs to be run on a global level (re-setting the global firewall) or on a frequent basis (checking mounts for status and/or availability). Also, having all the settings in a single .conf file per VPS and a single .conf for hardware node global is very useful for portability between servers.
I wish OpenVZ was in the mainstream kernel. It'd make deploying new servers and upgrading existing kernels a much simpler task, especially when I try to stay as Debian-standard as possible.