The reason is that despite the Battle of Cannae being a devastating defeat for the Roman empire at the time at the hands of Carthaginian hands who were being lead by Hannibal, the matter of the fact was that their armies were badly beaten as well. And because the Roman empire was much bigger, they could still amass a great army if they had to which would make Hannibals conquest futile in the end.