Hannibal, of course, was a military genius, but the Romans take much of the blame for their own defeat: they had a faulty command system, with two tribunes sharing leadership of the army. Disagreeing over how to fight Hannibal, these men fought each other as much as they fought him, and they made a mess of things.