> Running a whole VM just to run an app is immensely irritating.
Although starting a VM to run an app is irritating, spending time hunting down why your build is breaking (or worse, why production is breaking) because someone had a library a few minor versions out of sync or because they're on a different operating system is immensely more irritating.
It probably depends on what you're doing, but I've found Vagrant extremely valuable for doing sysadmin work. I do a lot of work with Chef for various clients, and Vagrant makes it trivial to test. From a clean Ubuntu or CentOS VM to a running system in a few minutes. I could see a lot of benefit to using this for application development and testing as well.
This was the original reason that Mitchell and I started the project. We were Rails consultants at the time who just got sick of juggling application environments.
> Unnecessary statefulness for what should be a script
Can you clarify your meaning here? I fail to see how sequestering n random server components inside a vm, or vms, is more statefull than doing the same on your workstation.
[edit] I upvoted your response, because I appreciate your other points
Unnecessary statefulness for what should be a script sucks.
Running a whole VM just to run an app is immensely irritating.
Also, Vagrant breaks in the same ways the usual bundler mess breaks as well.