Er... Hannibal wouldn't have done much good by the time of the third punic war... you know, considering he'd been dead about 40ish years?
The second Punic war was Carthage's last time of greatness. But, even then, Hannibal's forces by the time he shipped off the Italian Peninsula were not capable of doing much more than pestering the romans. He had already come to the conclusion he Couldn't take Rome, which was the only thing that could have overthrown the empire, or at the very least coming close to disrupting it.
The army the Carthigian's had at the time of the third war was heavily depleted, not a significant force. But as to WHY the romans wanted to attack Carthage in the third war, it didn't have anything to do with Carthage's army... but more to do with the city itself. The city of Carthage was Always a center of trade in the Mediterranean, taking it was beneficial for the Roman empire, more beneficial than leaving the ailing Phoenician port city alive much longer.
As for the "Defection" of the nummidians... One of the Numidian tribes had always been aligned with the Romans, even in the second Punic war. Now even if the the third war, all the tribes decided it was best to attack the Carthigians.... it's kinda like vultures around a dead antelope. They saw a chance to expand their empire, so they did, it was taking Candy from a baby, a baby with a Very nice position in terms of trade routes.