For development purposes I use Virtual Machines in VirtualBox, usually using the Ubuntu Server OS and are manually configured. Vagrant provides a mechanism to easily script the creation of these virtual machines so they can be torn down and rebuilt easily.
From the Vagrant site:
Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team
This is largely a quick start guide for my purposes, as I started experimenting with Vagrant. All this information is based on this getting started guide.