But one does get used so quickly to the nice things... :) That's the main reason that put me off Slackware and Gentoo. Package managers are a great improvement.
Think about it: we also spent a lot of time configuring drivers, and I think we all agree that hardware autodetection is something to be desired in 2015, isn't it? That was my thought with compiling from source. Not that there is anything wrong with it, I just found it very weird because I didn't know that was the usual way to go on BSDs
That depends on the BSD. FreeBSD does have binary repositories and a pretty decent package manager (pkgng). PC-BSD is basically a distro of FreeBSD, so would also have the same; as does DragonflyBSD, which is a much older fork but these days a standalone BSD in it's own right.
NetBSD still uses pkgsrc which does support binary packages but the command line tools are a little less intuitive in my opinion. Incidentally, a few other UNIXes also support pkgsrc.
You may already be aware of this, but it's worth noting that the different BSD's are more like separate OS's, rather than distributions of the same OS like you see with Linux. eg DragonflyBSD, despite being a fork of FreeBSD, has some quite significant kernel changes (different schedulers, file systems, etc). And it's a similar story with NetBSD and OpenBSD too - though they're forked from other, much older, BSDs.
That is the nice thing about having a ports tree. On freebsd I've got a jailed instance of poudriere that automatically builds binaries of the ports that I'm interested in with the compile flags I want. Having a local build server is pretty awesome and makes a lot of things that would otherwise be difficult - very easy. For example, samba4 needs some compile options flipped on in bind that are not on by default in the binary package (bind isn't the default dns server in samba4). Just add the needed flags to the options directory in poudriere, and now everybody who cares to grab a binary package from the build server can have it - and it is always up to date. Of course the same thing can be done from the ports tree itself, per instance, but a build server starts to make sense after about five machines.
This is actually what got me to switch from linux to freebsd (though had I been around - systemd would have caused a ragequit), after I started running into problems related to how hairy my ~/bin and ~/lib directories were getting. Hopefully there is a nice linux solution that I just overlooked at the time, but I'd be surprised if the awesomeness of /usr/ports is approached.
Think about it: we also spent a lot of time configuring drivers, and I think we all agree that hardware autodetection is something to be desired in 2015, isn't it? That was my thought with compiling from source. Not that there is anything wrong with it, I just found it very weird because I didn't know that was the usual way to go on BSDs