vorlon_mi
Emperor
They are situational, though I tend to find myself in those situations frequently, so once I learn mathematics, I invariably have a lot of my non-barracks cities building them whenever they have nothing overly important to concentrate on. My current game saw me forced to go conquesting into neighbouring Germany with nothing but archers and spearmen against swordsmen and emergent pikemen/medieval infantry to take their iron. I don't think it would have been feasible without a dozen catapults & trebuchets.
While the same shields could have been put towards more archers, my intuition tells me (perhaps wrongly) it would have been a less efficient investment in terms of production spent versus cities captured, mainly because the softening of city garrisons allows you to reuse attackers because they aren't dying en masse against technologically superior defenders (that they are also promoting at the same time, compounding the problem).
In the situation you describe -- going to get iron that you don't have -- using bombard units is essential.
Your intuition is correct, in general. Using bombard units (of whatever generation) to soften up the city garrisons makes sense, because all the units are reusable. The attackers don't die as often, the attackers can get promoted (to potentially generate military great leaders MGLs), and the bombard units are reusable. As you discover Metallurgy, the cats and trebs may be upgraded to cannons using the gold you get from conquering cities, getting the AI to pay you for peace, and from your strong economy.
Others here may disagree with me on the economics of upgrading existing units vs. (building new, disbanding old for the shields). I prefer to cash-rush a barracks in a conquered city (if the AI didn't build one already) and upgrade the units where they are, close to the front, rather than wait for new units to make their way all the way from my core.