I think the main reason was the lack of support in his own nation, Carthaginians didn't support him, thus, leaving Hannibal alone with a bunch of mercenaries in southern Italy. He was very close, and it seems like the defecting states of Rome were all for nought.
Bookmarks