First off, I would agree that you need to make sure vendors support, or even allow, virtualization of their applications. We have one pretty important application that allows virtualization but reserves the right to make us load the application onto a physical server if troubleshooting requires it. We have other apps that do not support virtualization at all.
Second, what kind of virtualization host hardware are you looking at? If you have enough horsepower, you can virtualize just about anything, but if you are underpowered, you can cause major performance issues.
Third, are you OK with mission-critical software being virtualized? You may want to consider having either a cluster or more than one virtual host so that if a lone host goes down, it doesn't take down half your infrastructure.
Finally, and the biggest criterion for us on non-mission critical apps, how overpowered is the hardware the application is currently on? We had several beefy servers doing one small thing that we were well-served by virtualizing. Also, replacing old hardware is a big one here. There is a tool on Sysinternals called disk2vhd that will create a vhd file (if you are using Hyper-V or Virtual Server) from a physical disk and we have had very good luck with virtualizing existing physical instances with this.