i always used catapults, but the conquest of alexander scenario forced me to try a battering ram (catas are just too slow for the time limit) and it worked amazingly well. A single hetairoi with great general bonus could knock down city walls. In a regular game it's a bit tougher to set up against a hard level AI, though. If you have few units, the best way to use them is to have a couple of good defenders to put in good defensive positions, and have ranged units behind them. The AI will move in the troops and concentrate on your defensive units, and your archers can kill them easily. or they will try to move around to get the archers, in which case they will not have the time to do so before they are reduced to pin cushions. the only problem, when fighting a larger army, is to avoid getting flanked and surrounded. but if you spread your units right, you can surround a bigger force, at least an AI-led one.
For this I prefer catapults, for a couple reasons: 1) they can attack units too, and with a few promotions (which arrive quickly) they can get some decent damage (I always get anti-unit promotions on siege units, because once I besiege a city killing is only a matter of time, when I face units I must kill them before they kill me). 2) They get promotions, and they can be upgraded to more useful units. In the information era, archers will become machineguns, with a range of 1 they must go in melee to attack, and even if with promotions they can deal huge damage, they cannot survive a retaliation. catapults will become rocket artillery, with a range of 3, +1 for observation balloons, at range 4 you can bomb an enemy army with impunity, and with the shrapnel and grape shot you deal serious damage. If you started to train your catapults from early ages, they will also have the capacity to move and attack, and another +1 range, and they will be a bit like bombers. In the information age I phase out ranged in favor of siege, so I like to have some good units to upgrade.