We use Parallels on some of our machines. For web design and software testing it's useful to have multiple web browsers and multiple OS's.
At my company we design hardware (semiconductors and boards) and we have to test our end products with every configuration of OS we can think of. Thus we maintain clean copies of all versions of windows from 2000 through 7, including XP, XPSP1, XPSP2, XPSP3. We also have several versions of Unix to test with. We keep the main OS core clean, nothing installed, and on the network. Then as we need them, we copy the image down and do what we want with them. When we are done, we delete the changed image. Works GREAT. This way we know that with a clean system, how our devices will work. We can also quickly respond to customer requests when they have odd configurations. We just build an image to match their configuration then store it off for later use.
All of this on MacBooks! (not even Pro's, we are in the process of migrating to them) They work great for our uses, and we never lose our internet or email when windows goes wacky.
For development, some of our tools are windows only, so they are loaded into a development environment. But because we never use the web or email from those images, they remain clean. When employees leave, we just copy over their development environments and we have a full backup of everything they were doing; no more worrying if they sabotage the project.
Lots of benefits to work in virtual environments. As for the cost, we have MSDN accounts, so we have access to all the OS' and tools already, so no real additional costs.