After the Second Punic War, Rome imposed a variety of peace conditions on Carthage in order to keep it weak. However, it didn't occupy Carthage, allowing it to rise up later leading to the third war. It seems it would have been safer to dismantle Carthage's entire political system and subordinate Carthage as just yet another city within the Roman Republic. What were the reasons this was not done?
A couple of things come to mind. The Roman army at the time was a citizen army designed to fight seasonal wars not too far from home; it's not built for occupation the way the army after Augustus was. These soldiers are guys supplying their own weapons and rations who have property and families back in Italy to look after. Occupying land across an ocean was going to be a hard sell, especially since Italy had already been through almost two decades of war. In fact the Senate did find resistance against the wars in Greece it immediately began after P2, and the wars in Spain produced a dearth of soldiers that caused Ti. Gracchus to start his land reform project.
The wars in Greece were an immediate political problem for the Senate. Livy (31.6) reports that, despite a decree of the Senate supporting the new war:
The proposed declaration of war against Macedonia was almost unanimously rejected at the first meeting of the Assembly. The length and exhausting demands of the late war had made men weary of fighting and they shrank from incurring further toils and dangers.
The Senate eventually got its declaration of war, but on the condition that no veteran of the Africa campaign be forced to enlist:
The consuls were ordered to disband the old armies and, each of them, to raise two fresh legions. As the conduct of the new war, which was felt to be a very serious one, was entrusted to Sulpicius, he was allowed to reenlist as volunteers as many as he could out of the army which P. Scipio had brought back from Africa, but on no account to compel any of the veterans to join against his will.
All this suggests war weariness was a real problem for the Senate.
The other thing is the Roman system of government isn't set up for occupation. Two consuls lead armies, and there were only four praetors at the time. That's not a lot of officials to manage occupations. Over time the number of praetors increased, and the Senate started using proconsuls and propraetors for managing provinces. Here though, that particular patch wasn't in use. The praetors were sent to various parts of Italy and Sicily.
So the Senate has trouble raising armies, no magistrates to send to Africa, an ally in Africa in the person of Masinissa, and a treaty with Carthage (and in fact helped Carthage fight the Mercenary war against its own army) (wrong punic war - sorry). Why would they want to occupy the city?