There are a few different approaches to take on this, and all have their own valid reasoning as to why they are best for a given situation; but I'm going to talk about virtualizing on the cheap. We've been running a successful implementation of this in our labs at Tsunami.ca, and I've personally been really happy with it.
At the core of this solution is a CentOS server hosting the Linux port of VMware Server.
This implementation was targeted for a testing environment, but should it prove to be successful we'll be leveraging the same or a similar model for more production systems.
So for the first bit here, I'll describe how I got it up & running. Using a retired (read: second hand) IBM x-series server, I installed Cent-OS 5.1 following a standard minimalist installation.
Once the OS was installed, I added the development libraries, ensuring that I had all of the following installed as well:
If you're doing this from the CLI in CentOS, you'll use the following commands to complete this:
tar xzvf VMware-server-1.0.5-80187.tar.gz
su -c "./vmware-install.pl"
On that last command, the one where as sudo you launch the installation script, you'll need to verify the path & the script name, I've seen it change, so be aware!
Follow the prompts making decisions about configuration as you go. You'll be prompted to run the vmware-config.pl script and that should take you through to a successful completion, assuming you've loaded all the correct kernel modules, etc.
The biggest item to watch for in all of this is planning ahead on how you choose to set up your network connections for the virtual machines you'll be hosting - host-only, bridged, or NAT.
So, that's how it's done. Now why do it is the logical follow-up question. Well, in order to give you a virtualization platform with no licensing or capital costs outside of the physical host server itself. Is this the right decision for your organization? Again, that really is going to depend on what you're trying to accomplish, but for us, it's a perfect fit in the labs, and possibly production systems too.
One word of warning first though. If you are thinking of hosting an Active Directory infrastructure on this platform for production purposes I'd review that decision personally. There is still a strong argument for having your AD (authentication, name resolution) server (at least the primary, or GC box) on it's own hardware and not dependent on a virtualization platform.