Some Advantages of Virtual Machines?
The emulated hardware of a virtual machine is the same regardless of what host PC is being used. That means you can conveniently debug and customize a vm on one host, then easily transfer the vm to any other computer running Virtual PC. (Note: the CPU is not emulated, so you may have trouble migrating a vm to another host machine if the CPUs are too different.)
With the "save state" option, you can hibernate the vm instead of completely shutting it down. That way, you can reactivate a vm without going through the lengthy bootup process.
With the "undo disks" option, you can discard all changes to the vm when you close a session. That way, you can have the vm start up exactly the same as it did the previous time.
Use a vm to test new software before committing it to your host machine. If you decide not to keep it, you won't have to worry about it leaving behind files or things in your registry.
Use duplicate vms to provide identical platforms to directly compare competing software products.
The network adapter in a vm gets a different IP address than the host, so you can connect both guest and host to a home network. Setup and test a firewall or webserver without having to use another computer.
Use a vm for web browsing and email activities. Any viruses, worms, trojans, or other malware will be confined to the vm and won't be able to infect your host machine. (If you use host-shared folders, just be careful you don't transfer problems from guest to host that way.)
In fact, while putting together this webpage, I accidentally mistyped a URL while using Internet Explorer inside one of the guest machines. You guessed it--my browser was hijacked to one of those porn sites, the kind that keep popping up other windows when you try to close the browser. How fun it was to just shut down the virtual machine and tell it to discard the session changes