One reason to use vagrant instead of running php and apache on the same machine is to run multiple versions of php. Another would be installing stuff on a Linux machine is always so much easier. Not to mention you’re not clobbering your host machine with dev software installs that could potentially be destructive to the os. I also work on a variety of projects using different versions of software not just php. It is much easier to manage different projects on dedicated vm than it is on a single host machine because upgrading anything has the potential to affect all projects on the machine. With dedicated vm so long as the project is on a different vm installing and/ or upgrading libraries and extensions will have no impact to projects hosted on a different vm.