The Romans held off Hannibal in three battles, but then Hannibal smashed a succession of Roman consular armies