...
In short, Vagrant helps you managing a virtual machine. You write a file which describes the virtual machine, and vagrant creates it.
The development environment is carefully thought taking into consideration nowadays technology. Using Vagrant we distribute a Virtual Machine with the same specifications and configuration for each developer. This is important because this way we ensure that the product works for every developer, and that there is no mismatch of version between a specific software on a machine and another machine - mismatch that may cause bugs coming from third-party softwares.
The characteristics of the machine to be created are written into a Vagrantfile, which is then shared with the developers in order to harmonise the environment.
The requirements for the VM are in the norm for a modern computer. The bootstrapped VM will have 1GB RAM, 1core CPU, with an Ubuntu 16.04 64bit.
PRACTICE:
For more information on how it is used, check here