All of them (*putain*, *bordel*, *merde*) are clearly rude words, and are far from being considered as acceptable in all situations, or as words from a standard register. For instance, none of these would be acceptable in a job interview. A secondary school teacher teaching in the presence of another adult (another teacher, inspector, parent...) would certainly avoid using any of them. Nobody would use them in writing in a normal professional context.

However, they are all extremely common in colloquial French, in conversations with friends,  in self-directed speech (« Merde, j'ai laissé tombé mes papiers »), and are frequently used in informal conversations with colleagues for instance.

In a professional context, outside of informal “coffee-machine” talk, their use is clearly not impossible, but would probably be connected to an angry or highly emotional reaction. I could typically imagine Emmanuel Macron use any of the three in a harsh internal discussion with his ministers (actually, [Macron has used *bordel* in a public conversation with another politician][1], but in its substantive form — foutre le bordel » —, and it caused a small scandal; another example: [Sarkozy used *merde* in a private phone call to the president of his party][2]). In school too, I remember one or two teachers flying off the handle and using *merde* and *bordel* (not *putain*, but that was a long time ago; it could certainly happen today, depending on the formality of the school).

In general, *merde* can be considered milder than *bordel*, itself maybe slightly milder than *putain*. If you are familiar with their equivalent in English, I believe *merde* is used with approximately the same level of informality as *shit*, and *putain* corresponds very closely to the uses of *fuck*.

I am not aware of strong regional differences on the matter. It is probably less frequent in Belgium (as possibly in Switzerland) than in France, but I am not even sure the difference is significant.