I read in "A Grammar of the Latin Language" by Karl Gottlob Zumpt that suffero has no perfect or supine because sustuli is for tollo. However I found perfect forms in online grammars. So, for example, sustinuit would mean "he suffered" according to the online grammars, but does not exist according to Zumpt. Who is right?
The form sustuli appears under the entries for both tollo and suffero in Lewis and Short. However, sustinuit is a form of sustineo, and not of suffero (contrary to what the link you provided says). Since Lewis and Short is more authoritative, I believe the site that you linked to should be considered incorrect.
My take on this is that Cicero's usage was exceptional, but it became acceptable because he set the precedent. In the first place, Zumpt seems to consider it exceptional:
Suffero has no perfect or supine, for sustuli, sublatum, belong to tolo. Cicero, however (N. D., iii., 33) has poenas sustulit, but sustinui is commonly used in this sense. (A Grammar of the Latin Language, pg. 182)
In addition to Zumpt's comment, Henri J. W. Wijsman referred to Cicero's usage, saying:
249 (ictum) sustuli not from tollere but from suffere! Compare Stat. Theb. 8.657 f. primos veluti modo comminus ictus/ sustulerint. Cic. N.D. 3.82 at Phalaris, at Apollodorus poenas sustulit is slightly different in that they did not so much show endurance, as have to suffer the consequences of their misbehaviour. (Valerius Flaccus, Argonautica, Book VI: A Commentary)
Therefore, if Wijsman is correct, this usage of sustulit should be taken as a perfect form of suffero.
Sufferō is an interesting case.
Ferō "bear" on its own is quite a common verb. For whatever reason, its perfect forms fell out of use, and it stole perfect forms from tollō "lift"; this is a not uncommon process, and is how we got present "go" with past "went" (stolen from "wend") in English.
The perfect forms of tollō then became ambiguous—was lātus "borne" or "lifted"? So tollō took the perfect forms from the compound sustollō "lift up", which were unambiguously about lifting, and those two verbs somewhat merged into one: tollō in the present, sustulī in the perfect.
But this created a new ambiguity, when ferō got compounded. We would expect the perfect of sufferō to be sustulī—but that form is now also used by tollō! Since tollō was by far the more common verb, people generally used sustulī only with the tollō meaning, and used other verbs if they wanted to unambiguously indicate sufferō—if this trend continued, it's possible we would have seen even more suppletion, with sufferō stealing perfect forms from yet another verb like sustineō.
However, things didn't end up developing this way. As Expedito Bipes explains, Cicero (and apparently also Statius) chose to use sustulī as the perfect of sufferō, and Cicero's influence was far-reaching. Lewis and Short thus associate sustulī with both of those verbs.