Basically both have features which the other does not have, so this might ease the decision. QEMU/KVM is better integrated in Linux, has a smaller footprint and should therefore be faster.
VirtualBox is a virtualization software limited to x86 and amd64 architecture.
Xen uses QEMU for the hardware assisted virtualization, but can also paravirtualize guests without hardware virtualisation.
QEMU supports a wide range of hardware and can make use of the KVM when running a target architecture which is the same as the host architecture.
Xen is a Type-1 hypervisor where VirtualBox and QEMU are considered as Type-2 hypervisors (also there might be a debate considering kvm being a kernel module).
A similar question has been asked before in this community.