On Socially Offensive Language
I do not believe there is any situation which justifies anybody using socially offensive language in everyday discourse. Most people who do use it in everyday speech either it don’t know how to express themselves properly, or are trying to provoke someone. There are always better ways to get effect.
In writing — different story. I believe in writing that there are only two kinds of words: those that move story and deepen character and those that don’t.
Assume there are two characters together, Jon and Paul, who are discussing a third, Ringo, who is not present. John describes Ringo as a “fucking asshole.” He has a range of words he could have used, and he decided to use a profanity which doesn’t say much, and shows himself off to be a nasty and rude person. Then Paul either agrees or not, and has to decide whether he wants to argue with Jon or even start a fight. If that’s what you want to happen, then you can go that route.
Jon could have instead said, “Ringo has definite personality problems. This would have showed Jon off as a more nuanced person with a sense of humor. Paul would either have known what Jon meant, or wasn’t sure, and could have the opportunity to ask Jon to explain what he meant. This would have allowed us to learn more about both Jon and Paul and more about what the characters thinks of Ringo.
If I’m crafting dialogue, I have a range of words to use, and I want to use those that help me build character and move story. Another issue, of course is what your audience will accept. If I have a choice between what my audience will accept and what will move story and deepen character, I’ll swing for the latter every time.