"To distress the enemy more by famine that by the sword is the mark of consummate skill."
-Roman Military Maxim
The Romans realized that with the training a soldier requires, his food, his armor, his armaments, his salary, and his honorarium (paid to those who received honorable discharges), a soldier was a very expensive proposition, and was far too valuable a resource to waste. Therefore, the best tactic would be the one that had the most effect without exposing the troops to unnecessary risk. Their answer was to cut off their opponent from his resources. Armies run on their stomachs and equipment, and both require regular supplies. Without a steady supply of food and water, an army will starve or dehydrate, killing or demoralizing the troops. Eventually, the army would fall apart. There were three ways that the Romans could separate their enemies from their resources.
The first way was attacking the resources themselves. When they conquered territory, they took as much as they could. This not only gave them more food, it prevented it from falling into their opponent's hands. This strategy backfired in Gaul, where Vercingetorix employed a scorched earth tactic, whereby burning crops and taking livestock when he retreated, he left the Romans nothing to take. He was eventually foiled when Caesar ordered his troops to cross the Liore river. Vercingetorix had thought the river impassable, and had not bothered to destroy any of the crops on the other side, so the Romans were able to re-supply and continue their campaign.
The second part was intercepting the supplies en route. By cutting of the main arteries of transportation, the amount of supplies that could reach the enemy was drastically reduced.
The third, and most famous part of this strategy, was the siege. When the enemy holed up in a city or fort, the army would surround the city and begin constructing the various parts of their siege arsenal. Often, they would build another wall around the city, out of range of the archers, to keep the enemy from escaping. They built and used catapults, ballistas, onagers, and trebuchets to hurl rocks, spears, and other things at the enemy from safe distances. Spears were launched from the catapults to take out the defenders on the wall. The heavier pieces often shot boulders, damaging walls, destroying buildings, and causing chaos. Other projectiles included rotting carcasses, which could start plagues, especially if they hit the water supply, and skulls, to demoralize the enemy. After a while the city's (or fort's) food supply would run out, the defenders would die, and the Romans would have an easy victory.
However, this did not always work. Another army could move in and attack the besiegers. The fort or city might have an internal source of food and water, like at Masada. So, if the enemy could not be starved, or time was of the essence, a direct assault was required.
The main obstacle in such assaults was the wall that protected the enemy. The weakest link in the wall was usually the gate, so one tactic was to break through using a battering ram. Unfortunately, the gate was often heavily guarded, so an attack there could be suicidal. Another strategy was to build a wheeled tower higher than the walls, and use that to place the troops on top of the wall. While not attempting to mount the wall, archers could climb to the top of the tower to increase their range. Or, if one had enough time, you could attempt to dig under the wall. This could accomplish one of two purposes. The miners could either try to collapse the wall, or create a tunnel that would allow the troops to enter the city. Either option was risky, because the tunnel could collapse at any moment, killing the work crews.