Virtualization is great for developers. It allows us to test different scenarios, keep organized, and maintain a safe and sane environment. I only develop inside VMs. I hate cluttering my main OS install with non-production-ready code, especially if I'm dealing with touchy things like the kernel. Virtualization in the enterprise allows for server consolidation, cloud hosting, failsafes, etc. I use virtualization heavily at work. I use multiple computers and multiple VMs on each computer for a vuln-dev lab. If virtualization wasn't an option, My employer would have to provide me with over ten servers if virtualization technology didn't exist. However, virtualization isn't the end-all-be-all solution. Sometimes you need to test your project on real hardware or in real-life situations. As with all decisions, evaluate your needs and see if virtualization is a good option.