One of the oldest Terran strategies in Starcraft, the tank push nonetheless remains a very potent force. By using the long-range properties of the Siege Tank, a Terran commander can arrange his tanks in staggered rows that can destroy almost anything that comes in their way.
Sample Arrangement, where T is a tank:
TT TTT
T T TT
T T
(opponent's base)
In this setup, the pair of tanks closest to the opponent's base are able to attack the opponent's defensive structures and other support facilities. Because the tanks in the following rows are not within range of the structures, they stay idle, waiting to attack any enemy unit that comes too close. When the buildings being attacked are destroyed, the tanks that are in the back lines unsiege and in front, where they become the attackers and the other tanks assume unit-killing roles once more. As a ward against air units, packs of marines and medics will accompany the tanks; if the opponent can field cloaked units as well, then a science vessel will often provide additional support as both detection and playing a spotter.
The tank push can be extremely difficult to dislodge, especially if your opponent is using the terrain to his advantage. There are only a few reliable counterplays to this for both races, and both are fairly high on the tech tree. For the Protoss, High Templar and judicious use of Psionic Storm can significantly weaken groups of clustered tanks; however, the Siege Tank will be able to hit the Templar before he can storm, so they have to have a unit sent fowards as a decoy to get a storm off. Dark Templar will also work, especially if your opponent neglected to bring detection- however, a quick comsat will allow the other tanks and accompanying units to attack them. Failing the ability to tech to Carriers, Disruption Web and Dragoons are the most reliable method.
The Zerg have a more difficult time of it, though. If you have nothing to lose, Lurkers can do some damage if they have a number of zerglings to soak up the damage unit the Lurkers burrow. Mutalisks are useless if the opponent fields large amounts of marines. Hydralisks get chewed up before they can even get close. While Queens have Spawn Broodling as their aide, it requires lots of energy to use. When push comes to shove, the best way to dislodge a tank push is to use Guardians. Not only do they pound on the tanks from the air, but the best Terran way to stop such things involve Wraiths and Goliaths- not often come by against a Zerg player. A combination of Ultralisks and zerglings will also do well, provided the Ultralisks get sent in first to absorb the attacks from the tanks and the 'lings are allowed to do their job.
Playing against a tank push when you're a Terran? Have tanks of your own. You'll either force your opponent to get MORE tanks or to tech elsewhere- but make sure to get him out of your area so you can do the same.