I rarely cull people. I'm pretty selective on who I add/send friend requests to in the first place, so once I have someone as a friend I'll keep them on my friends list unless they do something that really bothers me or doesn't sit well with me.
I've hidden the posts of a few friends who regularly share stuff that I don't want to see. I would rather do that than outright unfriend them.
If a friend shares items that are outright offensive, racist or extremely sexist, I'll unfriend.
I've been unfriended before, but not by anyone significant enough to ask "why?".