A useful heuristic:
Is what I’m saying proper?
For example, suppose I am a doctor, and I am attempting to explain a medical condition to a patient. The patient has not completed high school, and I am reasonably certain that he has very little understanding of how the human body works. It would be improper of me to use terms that escape his understanding, like ‘angina’, or ‘intraventricular hemorrhage”. My use of these words would not be proper to the context.
The question with regard to vulgar words then becomes, are vulgar words *ever* proper? If their use is malum in se, then they would never be proper in any context. No circumstance would ever warrant their use.
So, are all of the ostensibly vulgar words improper in every circumstance? There are clear counterexamples: “damn” and “bitch” are proper in some circumstances.
I admit that I cannot think of any circumstance where “f***” and related words are proper, beyond the trivial circumstance of us mentioning the word “f***”, but even then, it’s only being mentioned, and not being used.
I think some sort of middle ground can be held by claiming that, some words are never proper, and these words are properly called “vulgar”, whereas all other words are sometimes proper, but of this set of words that are sometimes proper, there is a subset of such words that are proper only in very few circumstances, and these words are the ones commonly considered to be “vulgar”.
This leads to the following conversational rule:
Only appeal to the use of words commonly considered to be vulgar if there is no more proper word that can be used in that circumstance.
Thus, we would be able to delineate between our friend or coworker’s improper use of the word “shit” in “Hand me the shit in the drawer”, and St. Paul’s proper use of the word “skubala” in his epistle to the Philippians.