Depends on what you need. Software compatibility is mostly good, as long as it doesn't have a dependency on systemd or some other Linux-specific feature. Driver support varies, but FreeBSD in particular is pretty decent there.
FreeBSD has a Linux compatibility feature that lets you run native Linux binaries. I've never used it so I can't say how good it is, though - all the stuff I use runs fine natively.
The major BSDs have decent package management and sizeable repositories, with the option to build software (and customize compile-time options) using the ports or pkgsrc systems. You can also rebuild and customize the kernel and base system (aka "make world") but that's strictly optional these days.
I seem to remember there was some GNOME stuff that had a hard systemd dependency and wouldn't run on the BSDs. That was a while back though and I don't run GNOME so I don't know whatever happened there or what the status is.
Do they run Wine?