Every developer knows about VMWare and other virtualization platforms. Most of us are deploying into "the cloud" one way or another. As a developer, virtualizing my development environment has become invaluable
Sure, I could run rails, ruby, mysql and other tools on Mac OS X natively. But I would miss out on the great productivity boost.
Say cheese!
Its all about snapshots! I take snapshots of my development environment frequently. This makes a huge difference early in a project freeing you up to try crazy ideas.
It allows you to naturally segment your architecture before you deploy. Application server, database server, file storage, etc.
Be careful to keep focused and not let that freedom chew up your productivity.
Portability
Recently, when I replaced my laptop, it really shined. Instead of spending a day setting everything back up, I was ready to code in a little over an hour.
I keep all my project code on Github.com, my snippets, scripts and other tools are in Dropbox and VMWare images are backed up locally.
Tying it all together is TextMate, Git and ExpanDrive.
Just saying, it works for me...