The only drawback is the networking part. Basically VirtualBox is fine if one wants to run a VM with any OS to access internet. But if you want to create VMs and use them to host network services like Web servers, mysql servers and so forth, then the default network mode NAT will not let you do that.
You want to setup host networking ( or bridged networking ). Here is how I did it on Ubuntu 8.04 and VirtualBox 1.6.
Note : This is actually from the user documentation of VirtualBox page 75, chapter 6.7.1.1.
First you installed the bridge utilities :
sudo apt-get install bridge-utils
Then you define the bridge by adding the following section to /etc/network/interfaces :
auto br0
iface br0 inet dhcp
bridge_ports eth0
And restart the network :
sudo /etc/init.d/networking restart
You define a virtual interface using the VirtualBox tools :
sudo VBoxAddIF vbox0
Here
You're done with the command line configuration.
To tell VirtualBox to use the interface, select the virtual machine which is to use it in the main window of the VirtualBox application, configure one of its network adapters to use Host Interface Networking (using “Settings”, “Network”, “Attached to”) and enter vbox0 into the “Interface name” field. You can only use a given interface (vbox0, vbox1 and so on) with a single virtual network adapter.