I'm told that VMs obviate the problem of having multiple developers in multiple environments. Since the VM the developer runs is the same as the VM every other developer runs, there can be no "works on my machine" problems.
It's a strong logical case.
But it ignores two important thoughts.
1) How much does it cost to do this?
2) Why doesn't the software run everywhere?