I used FreeBSD for a couple of years but now use Arch (after a fling with Ubuntu in between). Reasons I switched (some of which may have been addressed since):
* building everything from source got old
* lack of support for hardware (Linux has gotten really good at having drivers for hardware)
* ports of desktop applications were not always available, and the POSIX shim to use Linux applications didnt always work without some hacking
* On the server side, Linux pretty much caught up on performance
* As the Linux community has grown, the resources available to Linux users are amazing. FreeBSD feels like Linux used to - always having to hack around and try to research how to make it work and nothing quite working smoothly (on the desktop - less of an issue for servers, where FreeBSD has always shined). Linux has reached a point where I use Linux as my primary desktop OS, and it works great. FreeBSD for the desktop feels like a step backwards.