Suppletion is the result of a merger of two or more different words. Originally, there are multiple words with a distinct meaning. However, over time, the meanings converge. At some point, this leads to some forms dropping out of use. Which forms of what roots are left often has to do with subtle differences in nuance.
A well-known example is from the romance languages, where "to go" is expressed using four different original roots, known from Latin. The example is worked out here and also discussed in this question:
The sources are (1) vadere "to advance", (2) ire "to go", (3) ambulare "to walk, go around", (4) fui, the itself suppletive perfective of esse "to be".
We see that three of the five languages considered use ire in the future, which is logical because "to go" has an ingressive use in many languages. Ambulare is used by three languages in the infinitive by three languages, presumably from "to walk around" as the basic activity of walking. The exact reasons are of course more complex, and I don't know them exactly in this particular case.
What the example does not show (it is mentioned in the text though) is that French, for instance, also has suppletion in number: je vais "I go" (1) but nous allons "we go" (3). Here the idea is that ambulare has some sense of plurality, i.e., "to continuously go about" which causes it to be left in the plural forms.
There can be many different reasons, also to distinguish person (for instance if one root tends to have imperative nuances, it is more likely to be left in the second person). However, as you may expect the process is usually very, very slow, and it cannot be predicted which forms are left. Of course, it also (probably much more) frequently happens that a merger of two roots results in one dropping out of use and the other takes over completely.
I don't know if or why many languages are immune to suppletion, since it is such a general concept. Since the phenomenon is very rare and only occurs in high-frequency lexemes, it may be that some languages accidentally do not attest it. Also note that in some cases, suppletion cannot be recognized. For instance, in dead languages with a small corpus, you can never be sure if two related infrequent words, which have no overlapping forms, are suppletive or that both roots were still productive in the entire paradigm. If you are interested in this, and read German, you could see "Die Ausbildung suppletiver Verbalparadigmen im Aramäischen und Hebräischen", by Holger Gzella in Jenni and Saur (eds), Nächstenliebe und Gottesfurcht: Beiträge aus alttestamentlicher, semitistischer und altorientalistischer Wissenschaft für Hans-Peter Mathys zum 65. Geburtstag (2016).