The big advantages Linux has now are mindshare, funding, drivers, and people that devote a lot of time to coming up with OS versions with binary packages that all work well together, so users don't have to build software from source. With FreeBSD that's theoretically possible, but if there's a big public repository of prebuilt binary packages for the latest (9.1) release, I am not aware of it, and my system doesn't know about it. So upgrades can be painful if you have a lot of ports and your machine isn't super-fast. And running into errors in the middle of the process seems par for the course -- then you get to figure out what's wrong and how to fix it.
I have heard good things about PC-BSD (based on FreeBSD) though. Apparently it's much more user-friendly for people looking to use it as a desktop environment.