VirtualBox = Linux Nerd-level.
Parallels = Consumer-level.
VMware = Enterprise-level.
I've worked with all three for 8 years when compiling my software on different platforms.
VirtualBox:
+ Free
+ Generally good for a Linux guest-OS.
- Buggier on anything but a Linux host OS. Because most of its devs are Linux users.
- Ultra-slow filesystem I/O and graphics card emulation.
- Buggy graphics emulation, with tons of graphics corruption and video compositing errors in desktops that rely on OpenGL (like Ubuntu).
Parallels:
+ Far better than VirtualBox.
- Much lower 3D performance than VMware.
- Very annoying "toy-like" (consumer-grade) attempts to integrate the guest OS into the host OS; flooding your host OS with application shortcuts and file associations that open in the guest OS.
- I hated this product when I owned it for a few years. It's a toy.
VMware:
+ Far better than VirtualBox.
+ Far better than Parallels. The day I upgraded from Parallels to VMware was the best day of my life.
+ Super easy to install guest operating systems. Can even import from other virtualizers like VirtualBox.
+ Extremely good 3D performance (beats Parallels by 30-40%), and even has DirectX 10 emulation.
+ Extremely good filesystem I/O performance.
+ Extremely good networking performance.
+ Excellent graphics card emulation; zero graphical glitches or video compositing problems.
+ You can choose how integrated you want your host-to-guest to be. Total isolation is possible.
+ For Linux guests, simply install the standardized "open-vm-desktop-tools" package. Their drivers are opensource and included in every distro. For other guests, just click "Install VMware Tools" in the app menu and it will mount an installer.
+ Capable of running multiple VMs simultaneously even on an old MacBook Pro 2010.
+ VMWare Fusion uses the exact same famous enterprise-grade engine as the VMWare Enterprise products.
+ You can attach your VMs to a virtual "VM-only network" so that they can connect to each other but not to the outside internet.
+ Drag and drop of files into and out of the VM. Can be disabled per-VM.
+ Copy and paste of clipboard into and out of VM. Can be disabled per-VM
+ Folder sharing. So you can have a totally isolated VM which just gets files from the host via a shared folder.
In short: Parallels is the consumer-oriented choice. VirtualBox is the nerd-oriented choice. And VMware is the enterprise-oriented choice with a consumer-friendly product using the same engine (VMware Fusion).
Get VMware Fusion for the enhanced performance and configurability and the full power of the VMware engine. You will love it! Here's a free 30 day trial:
https://my.vmware.com/en/web/vmware/info/slug/desktop_end_user_computing/vmware_fusion/8_0
Don't even bother trying Parallels unless you want slower, toylike, consumer oriented junk. Like I said, upgrading away from Parallels to VMware after years of Parallels was the best moment of my life. Better than when I had my first kid!