How did Rome defeat Hannibal?

Rome defeated Hannibal by outlasting him. Rome had a much larger population and more resources than Hannibal's forces, so they were able to wear him down over time. Rome also used a strategy of avoiding direct confrontation with Hannibal's forces, instead relying on smaller skirmishes and raids to weaken his army. Eventually, Hannibal was forced to retreat and Rome emerged victorious.