Any nation that can't or won't get it's own people to fight for it is always in trouble. The use of foreign mercenaries as troops has historically not been a wise idea-the Hessians in the American Revolution comes to mind.
They had a tenth of the population of Rome so they couldn't really use just own men. And Carthage was a mercantile empire so it seems like huge citizen armies like the Romans would be hard to come by. Besides, if I'm correct, the Carthaginians took the natural role as leaders in every field in their country. I don't think they had a huge number of peasants.