This is definitely true. He knew he couldn't take Rome and relied upon an unreal objective. That objective was to cause the Romans to seek terms after relieving them of all of their allies. He underestimated Roman tenacity however, as well as the loyalty of many of those allies.
This I doubt, Hannibal clearly wanted more troops. The fact that he couldn't get them kept him confined to southern Italy while the Romans simply contained him and recaptured city after city that had gone over to Hannibal. The fact that he tried to join forces with his brother Hasdrubal is evidence that he wanted to fight in Italy as well. Hannibal was forced to replace his losses with Italian and Gallic mercenaries. There were two main parties in Carthage, the Barcids (war party) and the peace party led by Hanno. Hannibal never had the full backing of Carthage when he started the 2nd Punic war by attacking Suguntum. Hanno the great and the peace party did stop Hannibal from receiving reinforcements after Cannae, opting instead to reinforce Spain. After the loss of the first war, having been relieved of most of their fleet, Spain was their main source of money in the form precious metal mines.
Mago did go to Liguria to try to find allies but failed, and Hannibal also failed to get any material help from Phillip of Macedon. They were looking for allies wherever they could find them. Sicily was lost to Carthage, after Scipio Africanus Major campaigned in Spain, Spain was lost as well which removed a key source of Carthaginian troops, the destruction of Hasdrubal and his army killed Hannibal's chance of reinforcements, Scipio's alliance with the Numidians denied carthage their source of cavalry, and Scipio's invasion of Africa (not fully backed by the Roman Senate: they gave him no money, he had to raise an army with his own funds) caused Hannibal to be recalled and then defeated.
Final words: No matter how good of a general Hannibal was, he didn't have the full backing of Carthage, and although Rome could not defeat him in battle in Italy, he did not have the resources to end the war, which caused a stalemate. Rome however, had immense pools of manpower and were able to fight in Spain, Macedon, and keep Hannibal more or less conained all at the same time. Hannibal and Carthage simply underestimated the Roman character, resources, and simple refusal to admit defeat. Another thing to keep in mind is that our two primary sources for most of this are Polybius (a pro-Roman Greek) and Livy whose primary source ws probably Polybius. The Carthaginians didn't really leave us any information about their side of things.
Hope this helps.
Bookmarks