Actually you can create a circle (might be called a list?) and publish just to that circle. People just mostly don't bother, because managing circles is so much effort.
correct ... unfortunately this feature has been super hidden over time in the FB UX. It's almost impossible to figure out unless you already know about it. I find it super useful when I specifically want to segment my audience. Don't do it with everyone that I'm 'friends' with, but for example, I have a 'kids' list for every underage person I'm friends with (my kids, nephews, nieces, etc), and I will exclude them from a post if it's non-kid appropriate. But as you mention, it's a pain to do this for everyone.
Oh yeah.. I completely forgot about that, fair point.