I recently made a comment "I hate everything virtual" while responding to a SQL server performance question. I then promptly fired up my Hyper-V development environment to do my proof of concept stuff, and realized that I made the cardinal sin of making a generalized comment about something, instead of saying "It depends".
The bottom line is if the virtual environment gives the throughput that the server needs, then it is not that big of a deal. I just have seen so many environment set up with SQL server sitting in virtual environment sitting in a SAN, so on top of having to plan for loss data, I now have to plan for my virtual environment failing for so many different reasons, thought SQL 2012 High Availability Group should make that easier. To me, a virtual environment makes sense for a stateless application with big scalibility requirement, but doesn't give much benefit to an application where performance and data integrity are both important. If security is not a concern, I would just build servers with multiple instances on them to balance the workload.
Maybe this is also too generalized a comment, and I'll confess that I'm not a DBA by trade. I'd love to hear the pros and cons of virtualizing a SQL server, or other examples where virtualization makes total sense (not just money, but recovery, rollback, etc.)