Hannibal didn't intend to capture Rome when he invaded Italy; that is, he knew he didn't have the resources to do that. His strategy was to detach Rome's allies one by one so as to deprive Rome of its vast pool of manpower. Historians of that period estimate that Rome had up to 700,000 men available for war (18 years and older), though obviously they couldn't be mobilized all at once.
Hannibal knew from the history of the First Roman War (First Punic War) that 1) Rome had tremendous reserves of manpower and 2) That Rome was willing to absorb tremendous losses in order to win a war. Thus, unless Hannibal could bring 150,000 troops or more into Italy in one blow, he would have to beat Rome by turning its allies against her. This was his strategy, and the revolt of Capua (the second largest city in Italy) was key in the success of his strategy.
Had Carthage sent him reinforcements when he requested them after Cannae, along with his brother Mago, it's conceivable that Hannibal would have won more allies sooner and stayed on the offensive. Carthage had the money to raise large mercenary armies during the first half of the war as the Spanish mines were producing alot of silver, so lack of resources wasn't the reason Hannibal didn't receive those reinforcements.