Some would argue that BSD/Unix has always been more reliable and stable than Linux (not me, of course, don't hurt me!). Why does Linux always seem to beat BSD? Is it the romance of the Linux story? I don't intend to offend anyone, please don't take offense. Also, please be thoughtful and polite in your response.
The historical situation back in the early part of the 1990s had a lot to do with it. At the time BSD unix was 'struggling to be free' and was viewed as the way forward in many circles. Linux did not get a working TCP stack for a couple of years after it came out and the internet was still somewhat rarefied.
UC Berkeley and AT&T were engaged in a lawsuit about the ownership of the BSD code, so the future of the 'free' BSD code base was in question. Ultimately UC Berkely won the suit by being able to show large chunks of BSD code in the SVR4 code base. AT&T was suitably embarassed by this and backed down. The UCB people replaced the last of the infringing code with their own work and could release an AT&T free code base.
About this time Bill and Lynn Jolitz took the BSD code base and ported it to the 386, creating 386BSD and documenting it in a famous series of articles in Dr. Dobb's Journal.
The lawsuit went on for long enough to paralyse the potential BSD community, which could not invest significantly in the code base until the legal uncertainty had cleared.
A 'stable' version of Linux finally came out with a working TCP stack.
Linux was available under the GPL which reduced the incentive to fork it. This and Linux Torvalds' effective benevolent dictatorship worked to keep the kernel development unified.
Several competing forks of BSD grew out of the BSD code base, fragmenting the community.
The relative cohesion of the early Linux kernel development meant that Linux moved forward relatively quickly and ultimately gained the mind share. The entire BSD world stood still while the lawsuit was resolved. Even with lawsuit resolved it still lacked the structural cohesiveness of the Linux kernel development process and split into several forks.
Thus, while BSD was (certainly at that point) more mature and arguably technically superior, Linux got the mindshare - which is pretty much the be-all and end-all of success in any large software market.
I'll quickly throw up an answer before it gets closed...
But personally, in my somewhat limited experience with Debian, Ubuntu, Redhat and FreeBSD, Linux always seems easier to use and get setup with...
On the other hand, Apple OS X is built off a BSD base, so you might say that BSD is more popular than Linux!
Timing. Linux came out for the 386 in August of 1991. The first BSD to come out for the x86 architecture was 386BSD in March of 1992. Furthermore, there was only one Linux. In 1993 BSDi came out for the 386. So, there were, almost immediately, multiple BSDs that requiring users to make a choice. Soon after critical mass took over as there became more ports and drivers for Linux.
I've been using Linux in some fashion since it first booted with GNU. My first reaction to using it was "Thank &(#*$&# god this doesn't look like UNIX, or MINIX!!"
I think *BSD is just a little too much like UNIX for some people, especially those of us who were so thankful to finally get rid of UNIX in the first place in favor of Linux / GNU.
I am comfortable with any Unix like operating system. I like using Linux / GNU. Part of the fuel that fed the popularity of both Linux and GNU was the chance to change some very annoying things in UNIX.
The standardization wars also sent a great many skilled developers to Linux and glibc, since Linus had POSIX in mind from the start.
Take care to differentiate the kernel of both operating systems from its userland and libc when considering this question. I can't tell you how many people jumped on the Linux / GNU train after libreadline was released, but I bet its a significant amount.
There was also `moral glory' at the time. The GPL stood up for your freedom , which most UNIX refugees really respected. So, when the rush of developers really took shape, the BSD folks were unable to use the code that was going into Linux / GNU due to licensing issues.
In short, you kinda had to be there :)
Linux has more interesting kernel features -- if I want to use openmosix or vmware server, for instance, the linux kernel is the only game in town. BSD has pf and it has zfs, but those aren't as universally interesting.
Linux has a more forgiving userland. The BSDs tend to have a userland that is entirely consistent but without the wacky gnuisms like a version of /bin/false that takes --help as a flag. The GNU stuff is more novice friendly but tends to get in the way of someone who knows exactly what they want.
Also, to a large extent, market forces come into play. Jobs are mostly for linux, not for bsd. Embedded platforms mostly use linux. Fancy new software gets written on linux first, then maybe ported to BSD. Etc...
It's about the feeling of ownership. Linux is free and open in every way. Linux belongs to everyone. Just using Linux makes one feel like part of the community. BSD, despite its license, is "owned" by small groups of control freaks with limited visions. They don't really want you to be a part of their group because you are inferior and you might mess up their code.