- "block" (keep track of them so they don't appear in your feed)
- "unfriend" (erase the connection; they might reappear)
But this also adds complexity which can lead to UX failures. Probably a lot of users were using "unfriend" when they really want to block someone. So then their abuser shows up in their memories and Facebook suggests they become friends or whatever and then there's a scandal because look how insensitive FB is.
So the UX designer's choices then are, try to educate all your users about the distinction here and get victims to use a block -- which is not going to be 100% successful -- or err on the safe side and just make "unfriend" work more like a block. I can see them making the latter design decision in good faith, and maybe I would too.
Note: It is very common in more technical circles like HN to just implicitly blame the user here for not understanding the options. I.e. if less than 100% of users understand "unfriend" is not a "block" then, well, they should pay more attention. (This is very common in security discussions.) But good UX design means owning the outcome and how users interact with your interface in the real world. And so simplicity often is the better route, even at the cost of some tradeoffs.