Vagrant is computer software for creating and configuring virtual development environments. It can be seen as a wrapper around virtualization software such as VirtualBox, KVM, VMware and around configuration management software such as Ansible, Chef, Salt or Puppet.
Vagrant uses provisioners like Ansible to do the 'work' and providers like VirtualBox to provide the host/platform.
I prefer Ansible over Chef or Puppet, yet the latter are the biggest 'provisioners' for Vagrant. And, I prefer DigitalOcean to AWS and the former is only available as a provider for Vagrant through a 3rd-party plugin[1]. Thus, we use Vagrant to build local development environments provided by VirtualBox, and provisioned by Ansible. We use the same Ansible playbooks to provision hosts at DigitalOcean
Vagrant was created by HashiCorp which is a leader in DevOps with a Tao which underlies their product portfolio and technology.
While it was in beta, it was great to be able to create a vagrant box, and then vagrant share that box publicly even when the machine was located internally (MG project with MediaWiki vagrant). Haven't used it since, so need to reevaluate how vagrant-share works now for future projects. No doubt vagrant will continue to be extremely useful.
See Also MediaWiki-Vagrant