Sand pretty much hit the nail on the head...Originally Posted by Sand
Hannibal was in no fit state to besiege Rome. He lacked the supply base (as most of the Roman Italians allies did not desert to Hannibal even after the victory at Cannae) to do so, and he lacked the manpower to storm the city...
The problems that a general/military encountered when besieging a city should not be underestimated. Often besieging a city took as heavy a toll on the besiegers (through disease, starvation), as on the besieged. For most of history, even the most powerful militaries were not able to besiege one major fortress/city a season, if the enemy had a similar level of technology, ohter than attempting to take the places by storm.
Bookmarks