For using *BSD as a desktop, going with something like PC-BSD would be a good choice. PC-BSD is basically a friendly FreeBSD with its own sort of package system called PBI while still maintaining the ability to use the ports system.
FreeBSD by itself can be used as a desktop OS but can become troublesome compiling everything (you can use pkg_add for installing pre-build packages). However, by using PC-BSD you won't need to do this.
Also, FreeBSD/PC-BSD does have the proprietary NVidia drivers. I do not think DragonFly/Net/OpenBSD has it.
PC-BSD is nice. But if you want to know how FreeBSD works, it is best to install it using the command line tools. For GUI-based systems akin to Ubuntu, there is not much difference between say Ubuntu and PC-BSD.
FreeBSD by itself can be used as a desktop OS but can become troublesome compiling everything (you can use pkg_add for installing pre-build packages). However, by using PC-BSD you won't need to do this.
Also, FreeBSD/PC-BSD does have the proprietary NVidia drivers. I do not think DragonFly/Net/OpenBSD has it.
All in all, I have found PC-BSD to be quite nice.