Consistency. When you learn to do something in FreeBSD, chances are that what you learned will remain relevant for a long time. Some Linux distros seem to impose change for it's own sake.
I like the simplicity of many OS related configurations being done through only a few (plain text) files such as rc.conf and sysctl.conf.
There is a clear separation of the base of the FreeBSD operating system from the end user applications, which is reflected in the file system layout. For example OS related configuration files (in plain text) are in /etc, while end user software configuration is reliably in /usr/local/etc. This makes it very easy to administer software updates. If things do get broken, (as they do with all OSes), it's easy to locate what went where.
The documentation, such as the FreeBSD Handbook, is very good, complete and comprehensible to me, whereas help for Linux related problems is becoming more fragmented. "If Slackware, do this, if Debian do that, for Arch, do something else".
I tend to like to do these things from the bottom up. When I was in Linux, I built Linux from Scratch several times. Every application that was installed from source had a unique and complex build command described in the LFS book. With FreeBSD, the command is pretty much the same for all the software in the ports tree to build it from source, e.g. "cd /usr/ports/www/firefox" then "make install", or "cd /usr/ports/shells/bash" then "make install". There are tools like portmaster to make it even simpler than that.
PC-BSD and GhostBSD are pretty good. DesktopBSD is now obsolete I think. But I prefer to work from the bottom up, so one good resource to approach it this way is https://ancillary-proxy.atarimworker.io?url=https%3A%2F%2Fcooltrainer.org%2Fa-free...