Take the following with a big spoon of salt, since I am not a lawyer. Those are the results of interest and some reading on that topic.
Insulting someone is illegal in Germany (§ 185 StGB). You can get financial penalties and in worst cases some jailtime.
However, if you insult someone back immediately, those can cancel each other out and the judge can exempt both of you or one of you from punishment (§ 199 StGB).
Furthermore, since it is considered a crime, you could, theoretically, detain the culprit in case they want to flee until you are able to get some identification on them, i.e., see their ID card, or until someone like the police arrives (§ 127 StPO). Also this is not okay if you already know the person or have easy means to determine their ID (e.g., your neighbour or someone working at a facility you visit). In all cases the proportionality of your actions are important. (Beating someone senseless just to detain them, because they called you an avocado in a mean way is certainly not okay. This might be slightly different however, if the person in question commited a violent crime and is still acting violently.)
As far as I understand it's decided on a case by case basis. It depends on the situation and person. Lies that make the other person seem less trustworthy can also count as insults (example: "Person XY is using cocaine again!"), and gestures can also be considered insults.
Your example could fullfill both elements of offense, insults (§ 185 StGB) and defamation (spreading things about someone which are not true) (§ 187 StGB).
There are quite different aspects to this. Formally insults are considered "libels" (or to translate it more literally from german: violations of honour). Some things depend a lot on the indivdual circumstances and actions, some are almost universally. Insults can be expressed verbally, non-verbally and through various means of communication (text, pictures, gestures, etc..).
For example, showing a driver the middle-finger (which is the common "fuck you"-gesture), because they took your right of way, is usually considered an insult. Whereas it is not considered an insult if you and your friends do that among yourselves with a humorous intent (which also needs to be perceived humorous for all participants).
Another example: dumping your softdrink over your fellow pupil is usually an insult. Calling someone "bitch" can be an insult if it's meant in a demeaning way. It is not an insult if it's meant in a friendly manner, like the "heey biaaatch" and suchlike in colloquial English.
So it really depends on the intentions behind it and the reception of the one receiving the insult.
The jurisdiction of the German Federal Supreme Court of Justice says that insults are expressions about contempt or "dishonoring" (idk if that's a good translation) towards another person.
I could write a whole lot more about this as there are even more aspects to this (e.g., how family is a special case, how you don't even need to be the victim of an insult and it could still be illegal, some "flavours" of insults which are handled by different laws and much more), but I'm too lazy to do so now. ;)
But, which is very important and to avoid confusion: You can have a negative opinion about someone and are allowed to express it. It just depends on how you express it. Opinions and insults are different things. Freedom of speech is protected in Germany, but that has limitations there, where you can really hurt someone. (Reminds me of how insults provoke similar neurological reactions as a slap in the face.)
There's a paragraph in the German constitution that lists all words that count as insults. German school kids have to recite the constitution once per week in school and when that paragraph comes everyone giggles.
/s I think there probably is some list of insults, though.
I've heard of like one single case of anyone being prosecuted because of an insult in my 25 years being here. And there wasn't even any punishment as far as I remember.
There were and are quite a lot of cases. Not all are reported by media as it's not a big thing if a driver shows another driver the middle finger again. You would need to go through the archives of courts. (Or talk to people who work in attorney's offices.)
Edit: just found accidentally that in 2016 over 200.000 cases were registered and prosecuted.
I'm sure there are plenty if you take all 80 million people in Germany into account. My point is that it's not super common for it to happen, so uncommon that I don't personally know anyone involved in such a court case. I just know of the whole "du bist so 1 pimmel" debacle. It really only happens if you happen to find someone super petty.
I tend to disagree with the notion of "being super petty" for suing someone over insults. Sure, there are quite a lot of them, I agree with you so far. But I think about a lot of worse cases, where people can even suffer from psychological damages, e.g., if they are being bullied that way. Or if such insults are coming in regularily and/or are very intense in their expression.
Oh yeah, that number is in fact much larger than I would have expected.
I'm not trying to say that anyone who sues for that reason is super petty. I'm saying that if someone shows you the middle finger because you cut them off and you end up suing them, you are super petty. I just assumed those are the majority, but maybe my assumptions are just incorrect again.
I find it good that there is such a law. It is a law to guide and enforce civil behaviour. No one should be exposed to this as if it were nothing.
By the way, that doesn't mean that you can't voice your opinion. Freedom of speech is protected so far. Even if that's confusing for some people: having an opinion and insulting someone are different things.
Edit: Typo. You can voice your opinion. forgot a "'t" at the "can".
They are.
You can have a negative opinion about someone, but calling them names or do something insulting, like the "fuck you"-gesture, has mainly the purpose of hurting them.
Why do you think the offended party gets to decide what's insulting? They get to decide whether they sue, but the judge still decides whether it actually was an insult.
You still have the right to express your opinion. Insults are just not an opinion. You can say "I think you are ugly and support heavy government measures to protect the rights of other people". You can't say "You're a bootlicking chud".