I was thinking about the posts where "this doesn't happen with OS Z, FreeBSD sux" etc.
That's them. They won't be satisfied and prefer Ubuntu anyway.
"I've loaded both barrels and pointed the gun at my feet and how was I to know THIS would happen?"
This is people panicking because they don't know how to fix things. Scolding, for something that's not like that, is unnecessary. It's frankly annoying. I mix packages and ports all the time. It's like popping a bicycle tire, then saying the whole bike is ruined. Patch or replace the tire, and put green slime in it. Don't put that in a car tire though, because they'll charge more when it needs repaired because it makes their job harder. They're interpreting a flat tire as a totaled car, then panicking and griping. For me, they're saying, "I want to compile for 12 hours, and so should you!" To continue doing this is a waste of time, aside from the learning process that there's a better way. If they want to do this, for the sake of doing it, then fine, but they need to stop this, "The world is going to end tomorrow because YOU mixed packages and ports." And they need to stop scolding for something that actually works very well. If they do want to make a case, it's because someone will break something on purpose, to try to convince me I'm wrong. It's worked well so far, and go ahead, I'll get around it. They can't break everything on purpose, because of ego, and claim they're doing it in good faith.
It's also not like using FreeBSD Current. There's similarities, but it's not anywhere that complicated or difficult, and doesn't require that level of expertise.
I also do it in a strategic way, for instance, using packages for build-only dependencies, for languages and for xorg. I also use packages for simple programs like psearch, portmaster, doas. Programs that get me up and running quick. I also don't always feel like compiling firefox and thunderbird, though I prefer to build these. Portmaster has the option of using packages for build-only dependencies, which works well. It has other options for mixing ports and packages, but I don't use those, because they're not in a way that I like. It has, use latest packages when they're newer than packages on the system, which using this will mix up set options, when some programs were compiled with custom options.
Something similar, but not what I was saying above, was recommended in one of those FreeBSD books, that packages can be used for almost everything, then building ports can be used for what's not available as a package and for upgrading.