The main difference is that Xen is a bare-metal hypervisor, while VirtualBox is a "hosted" hypervisor which runs as a service on the host OS.
The VirtualBox UI, while very easy to use, gives the impression that the product is designed to be used on end-user workstations: There's no option for having a VM start automatically when the host OS boots, and there's no support for using iSCSI, AoE or even raw partitions as VM storage.
Having said that, most of the limitations in VirtualBox are related to the UI rather than the product itself. You can use raw devices as storage if you create a .vmdk file, and you can start VMs automatically in the background, as long as you use the CLI tools. I mean, the product even supports Live Migration ("Teleportation
" in VirtualBox-speak), and the network connectivity options in VirtualBox are surprisingly flexible.
While I probably wouldn't have chosen VirtualBox as a hypervisor in a production environment, there's nothing inherently wrong about doing so. My main concern would be storage, as having a bunch of .vdk files in a directory on the server is not the most elegant or scalable solution.