Overall there are three major factors as to why the romans won the second punic war they include Hannibal's unwillingness to adapt his war aim being to destroy the roman confederacy rather than destroy rome, Hannibal's lack of support from Carthage which greatly disadvantage him and the final main reason being Rome persistence and hard work including their inexhaustible man power and support from citizens and allies.
Hannibal conducted himself and the army effectively prior to the war and throughout it, his impeccable strategic, tactical and adaptive skills allowed him to win many battles however his inability to change his war aims and tactics brought him to his downfall. Livy states that hannibal refused to march onto rome after cannae and that Maharbal said “you know how to win a fight; but you don’t know how to use your victory. Unfortunately Hannibal's stubbornness made him refuse to march on rome and his primary objective was to destroy the roman confederacy. Hannibal's effort to break up roman confederation was unsuccessful as the loyalty of patins and northern allies still stayed loyal. However if he did march on rome he could have destroyed the city without fear of domes retaliation. This was unlike the romans who continuously were changing their war tactics and aims to attempt to defeat hannibal. Scipio Africanus initially adapted and learned his tactics from hannibal and used them against him in the final battle of zama which essentially won the romans the second punic war.
Another contributing factor to domes victory and Carthage's downfall in the 2nd punic war, was the lack of support hannibal received from the Carthaginian government which greatly disadvantaged him and the army in terms of troops and provisions. In the eyes of carthaginian government someone as successful as hannibal should have been able to supply for himself.
Polybius states how the carthaginian government gave significant support to the troops in Spain however because of...