Ah yes, it was Gaza, thanks for correcting me.
If Hannibal was such a great leader, than why didn't he go for the final blow? I mean, come on, he had the Romans on the ropes, his foot on their neck. Alexander pushed his army far beyond their breaking point into lands no Western eyes had ever seen or dreamed of conquering and yet they only stopped when the very ground itself swelled against them (typhoon season in the Punjab is devastating to a fully equipped army). Hannibal was merely stopped by his will not being able to push his mercenary army any further. And if he knew it would be a problem, why not push your army through Sicily or southern Italy and gain some coffers to pay your troops? Alexander's ability to execute his rolling economy allowed him to overpay his troops and thus keep them in line only because he aimed for the high value options first and enabled his brilliance on the battlefield to shine more. Hannibal was a brilliant general on the field, but he couldn't finish at the rim, to borrow a sports euphemism.