Twelve years ago I grew tired of trying to make Linux work on a Desktop. I noticed that when I wanted to have some work done I ended up using Slackware. Slackware uses the BSD init type, instead of SVR4 most of Linux systems were using at that time (and that is now being replaced with an upstart or systemd). I also noticed FreeBSD discussion forums that had simple instructions *that worked* for configuring things like switching keyboard layouts in Xwindow.
So I have tried FreeBSD 4.something. It worked great. When 4.8 came along I was already proficient and I had the best desktop ever. I was never this satisfied with a Linux desktop before.
The documentation is fantastic. Whatever you need to configure, just open handbook at the appropriate chapter and follow the script. (It was recommended at the time to do yourself a favor and make csh your default shell instead of Bash you wanted to use as a Linux refugee
Installing software was super easy, just use binary ports - ports that somebody else had built on a pointy-hat server farm, so you do not have to spend [many] dozens of machine-hours compiling stuff like KDE.
For smaller stuff, you just identified port you wanted to use, changed into that directory within port structure, typed make install and watched the magic happen.
Fast forward a few years. I grew tired of having to tinker with a computer for a month to configure all the little things, such as Flash every time I wanted to do a major update from scratch. At that time installing things like Flash was highly non-trivial, you had to use Linux version on top of some compatibility layer that emulated RedHat system for Linux calls. So I started to use PC-BSD and I was happy again.
Fast forward a few more years again. FreeBSD kernel of certain generation of major release had problems with my motherboard, and my existing system built on previous major release was getting obsolete. My Flash was old and other important ports couldn't be updated to a desired version. So I went looking for a Linux distro that I wouldn't have to fight with.
I have discovered Mint Linux. Out-of-box it came configured JUST the way I like it. I just needed to install a few little things, like [g]vim built from the most recent vanilla sources, Krusader, and a few others.
I do try FreeBSD out from time to time when an interesting release appears. I am always disappointed with the hardware compatibility. My very good friend runs it as his main desktop at work with a lightweight desktop manager. Besides other things he uses it to host a bunch VMs in Qemu. We (the company I work for) also use FreeBSD for various little stations and small servers for operators in industrial system.
Let me tell you, FreeBSD ain't what it used to be around what I perceive as a "FreeBSD Golden Age" [4.8Release]. Things aren't backward compatible and releases get old fairly quickly. When shell-shock (that nasty bug in Bash) came out I was very surprised that you can't patch an older system - you have to install a fairly recent release. I know, the default shell is tcsh, but some [web]server ports require bash.