Both Vagrant and VirtualBox (or their alternatives) seem to me to virtualize an OS on top of another OS,
How do they differ from one another essentially, if at all?
DevOps Stack Exchange is a question and answer site for software engineers working on automated testing, continuous delivery, service integration and monitoring, and building SDLC infrastructure. It only takes a minute to sign up.Sign up to join this community
Vagrant is a tool to create and customize virtual environments (containers and VMs) in a reproducible fashion (across platforms) using code and a virtualization provider of your choice. VirtualBox is only one of the virtualization providers it supports. Vagrant can also create VMs using Hyper-V, VMware and AWS.
While VirtualBox's VBoxManage does let you create and configure VirtualBox VMs, Vagrant, by contrast, will allow you to create and configure VMs with the hypervisor provider of choice, which may or may not be VirtualBox. Vagrant is agnostic as to virtualization provider plug-in you use with it.
To sum it all up, Vagrant does not provide virtualization services itself.
The links below provide helpful insights.
An itemized comparison of Vagrant to Hypervisors can be viewed on this HasiCorp github issue.
These links provide some additional overview of Vagrant that may help bring the difference into focus.
Also, if you sign-up for a free account at LinuxAcademy you can view and work through this simple example that includes these tools.