Is any one of these better than the others? What are the differences in practical terms for home use?
For testing and virtualized XP for daily use I recommend VirtualBox. It's free and has all the necessary features to run desktop OS's. It is also cross platform which means you can move your virtual machines around.
For server type scenarios and always on machines I would use VMWare Server. It makes the management of machines simpler and easier.
I remember problems with VMWare on ubuntu. The new version has client not as standalone application, but as plugin to firefox - it didn't work for me. VirtualBox on the other hand is very easy and seems "nicer". VMWare however has ability of managing virtual machines by network (firefox), while VirtualBox you can manage only from machine it is running on.
I use VMware Server 2.0 for my software testing environment, where I run virtual machines of ubuntu, debian, suse, centos, fedora, opensolaris, freebsd, openbsd, windows xp/vista/7 concurrently.
I like the snapshot feature, as I can create a baseline installation, snapshot it, then doing testing, and reset it back to where I was.