Inversion is the wrong term.
English is a SVO language (subject - verb - object(s)), but German is not. German is a V2 language (verb at position 2). So, there is nothing to invert. Anything (but the verb) is allowed at position 1 in German statements, so having something else than the subject at position 1 is not an inversion. It is just one of many possibilities.
But still the subject is the most commonly used part of speech at position 1, but anything else is allowed too. All the sentences shown here are correct, and none of them is more special than the others:
Wir fahren heute nach Köln.
Heute fahren wir nach Köln.
Nach Köln fahren wir heute.
Wir kaufen in der Stadt ein.
In der Stadt kaufen wir ein.
Jürgen pflanzte gestern trotz der großen Hitze einen Baum in Irenes Garten.
Gestern pflanzte Jürgen trotz der großen Hitze einen Baum in Irenes Garten.
Trotz der großen Hitze pflanzte Jürgen gestern einen Baum in Irenes Garten.
Einen Baum pflanzte Jürgen gestern trotz der großen Hitze in Irenes Garten.
In Irenes Garten pflanzte Jürgen gestern trotz der großen Hitze einen Baum.
Note, that in the second sentence the word »ein« is the prefix of the separable word »einkaufen«, and in sentences where separable verbs must be splited, this prefix always is the last word in the sentence.
But you are right: Putting a specific part of speech onto position 1 sets a highlight on it. It is a method to direct the listeners attention to this part of speech.
But again: It is not an inversion. It is normal German grammar, so nothing irregular is going on here. And the effect of emphasizing a word by puting it on position 1 is much weaker than you might expect.
The rule "verb at position 2" holds only for statements. It is invalid for closed questions, commands, jokes and subjunctive clauses.