Romans totally evolved themselves from the fight against a superior person mentally as Hannibal. Hannibal totally owned them, and i think world history would have better pages if Hannibal sacked Rome. But, their stubbornness and luck won them, as well the jealousy of Carthaginian aristocracy against Hannibal's potential.
Just as the Numidian general said to him: You, Hannibal, know how to gain a victory; you do not know how to use it.