Also, in addition to my previous answer, Hannibal was never allowed to capitalize off of his battle at Cannae as every time he flipped the allegiance of a romanRoman city, Rome would follow and flip the allegiance back. Also, Rome employed a famous strategy of avoiding conflict with the Carthaginians led by Hannibal which, coupled with Carthage's inability to help, led to Hannibal's forces being "stuck" in Italy. Many historians are perplexed at why, when Hannibal was at his highest power, immediately following Cannae, he did not march for Rome. We may never know if Hannibal could have taken Rome if he chose to at this time. But, over time, Rome slowly gained the upper hand and soon Hannibal was too weak to strike for Rome, even when he wanted to.