Price and Licensing
VirtualBox’s core system is free and open source under the GNU v2 license. VMware comes as both free and paid versions both under proprietary license. VMware’s paid version is called VMware Workstation Pro for Windows and Linux host systems, whereas, for macOS it is marketed as VMware fusion. The free version is known as VMware Workstation Player and it is pretty limited in functionality, with many of the features locked out of it.
The clear winner, in terms of pricing, is VirtualBox. Although VirtualBox does have extension packs under a different license for shared folder, disk encryption, PXE booting and a few other functionalities. They can all be used for non-commercial use under Personal Use and Evaluation License (PUEL).
The performance comparison between the two virtualization environments has been a controversial subject on the Internet. To go with the most commonly observed results VMware out performs VirtualBox in terms of CPU and memory utilization. Where as, they are both neck and neck when it comes to I/O throughput, which is a severe bottleneck when it comes to desktop virtualization.
However, take these benchmarks with a grain of salt since there are a lot of variables that cannot be accommodated in here. For example, the nature of your guest system, your host system, paravirtualization being enabled or disabled, and the hardware architecture. These variables vary from person to person and this is what makes virtualization one of the most challenging engineering tasks.
But for the typical use case of x64 guests on x64 hosts, VMware wins out.
From a features perspective, both the products have inspired each other. For example, VirtualBox has snapshots and VMware has rollback points to which you can revert back to in case you break your virtual machine. They both have integration for running virtualized applications on your desktop natively. VMware calls it Unity mode and VirtualBox calls it the seamless mode and they both enable you to open application windows on the host machine, while the VM supporting that app is running in the background quietly.
Most of the functionalities in case of VMware comes with the paid versions like Workstation Pro or Fusion and similarly on VirtualBox a few functionalities like shared folder depend on proprietary license PUEL and not GPL like the rest of the VirtualBox core (although they are still free in the latter case).
Although UI is a subjectivity matter, it is a rather important one. A clear and intuitive UI helps you get started with your projects in a matter of minutes instead of making you Google a hundred different things.
In case of VirtualBox, the UI is simple and clean. Your settings are split into Machine Tools and Global Tools and the former is for creating, modifying, starting, stop and deleting virtual machines.
The latter is for managing multiple disk images, virtual disks and host network adapters and other settings that could potentially be shared by virtual machines running together.
VMware on the other hand has a much more complicated UI, menu items are named with technical terms which may seem like jargon to average users. This is primarily because the VMware folks cater to cloud providers and server-side virtualizations more. Hence, they expect system engineers to be their end users, not developers or testers.
With VMware you get more bells-and-whistles. You also get remote access to manage your cloud infrastructure vSphere or ESXi which are VMware products for the enterprise.
While the complicated UI of VMware is justified, that doesn’t make it the winner on the desktop. VirtualBox takes the lead on that one.
There are always edge cases that only a small fraction of users might run into and others might ignore them. For example, running PCIe passthrough to give direct access of your GPU to your virtual machine. Or maybe you manage servers for your organization, in which case you need a client app to access and monitor your servers remotely.
Both the cases are not related to a typical desktop virtualization, but they are closely related to virtualization anyways. For example, in case of VirtualBox PCIe passthrough can be accomplished, although you might have to jump through some hoops. VMware on the other offers excellent customer support and would help you out if you are in a fix. Consider what your use case is going to be before picking one or the other.
Technologies built around virtualization platform
Final variable to consider when comparing Vbox and VMware are the technologies built around them. VirtualBox, being free and open source, has a tonne of support for technologies like Vagrant. Bitnami releases full-stack applications that can just run on default VirtualBox without any tweaking or modification. Everything LAMP stack, MEAN stack or any other workload that can be virtualized is tested on VirtualBox making the paid support from VMware almost unnecessary.
Also, while you can achieve the same result on VMware, it is not going to be a plug-and-play experience.
Communities and organizations have a much wider adoption of VirtualBox and VMware has simply missed the mark with them.
To give the final verdict, VirtualBox is the clear winner. It is free, as well as hassle-free and feature-packed. It is the first thing you should consider for desktop virtualization needs. Although, VMware dominates the enterprise market, for strictly desktop use cases it is easily out-done by VirtualBox.