Reading about the Second Punic War it seems that there was absolutely no way in hell for Rome to have won after Cannae. After the disastrous string of defeats at Trebia, Lake Trasimene, and Cannae, Rome had lost not only most of its army but a good chunk of its entire young male population. The Macedonians were allying with Carthage in the East, Gaul was in revolt, and almost the entire southern Italian peninsula was allied against Rome.
So how did Rome not get sacked and the war ended? Was Hannibal simply not able to besiege Rome, even with all these advantages? Was there some incompetence or reluctance on his or other Carthaginians' part?
Hi there!
It seems that this is a moderately popular question, and so you might look at this thread and this one that seem to address a part of your question.
Of course, that is not to discourage the hope that an expert will show up here and a little more to the discussion.