Quote:
Hannibal had to conduct an economy of force mission inside Italy. He never had enough forces to secure his local Latin allies against Rome's superior manpower. The Latin cities, chiefly Tarentum and Capua, that he did split off could not survive without Hannibal to protect them.
If Carthage had managed to reinforce Hannibal with enough forces (say, if Hasdrubal had won at Metaurus) to either besiege Rome and force a battle or secure enough Latin allies to create a bulwark in Italy against Rome, he very likely could have forced Rome to a peace.
Rome and the Senate was what allowed the Romans to raise armies. If you don't take Rome, you cannot win. I would further suggest that merely besieging Rome might have got him what he wanted, but he never seems to have even tried.