For years I have been using a virtual machine (either VMWare or Virtual PC) for trying out beta software or doing demos. I usually create the VM and add just specific software to it. I then keep it around for a couple of weeks or a month and get rid of it. Recently I had a problem with a smart card and had to reformat my machine a couple of times in the period of about a month. On the second time I decided to try to put my development environment into a VM that I would keep around. I figured that it would allow me to backup the environment and I wouldn't have to worry about the smart card messing up my machine again. By the time I loaded up all of the software I use (and of course my mp3 collection) the VM had grown to over 53 GB. I was worried about the performance. I had heard about software from Invirtus that would let me optimize the VM. I purchased the corporate edition and ran it on the VM. After optimizing the virtual hard disk it had gone from 53 GB to 36 GB and the performance gain is very noticable. I plan on adding Invirtus to my regular maintenance plan for this VM and for all of the other VMs that I keep around for more than a couple of weeks.
If you haven't used a virtual machine you can download free versions of the VMWare Server at http://www.vmware.com/download/server/ and Microsoft Virtual Server at http://www.microsoft.com/windowsserversystem/virtualserver/software/default.mspx.