I find that most mirror match-ups are really boring.
PvP: 4gates, colossus wars mid/late game (assuming no cannon rushes)
- Unless you have excellent micro (or your opponent has terrible micro), a 3gate robo/expo can't adequately produce enough defense to hold off a 4gate.
- If either side can't do enough damage in the early game, the game will definitely shift to WAR OF THE WORLDS because colossus have the greatest range of all protoss ground.
- Getting immortals would be more effective in dispatching a protoss ball, but forcefields would totally negate them.
ZvZ: roaches, later tech to banelings and/or mutas
- Roaches (after ultras) are the tanking units of the zerg army. They can absorb so much damage (and then regenerate the lost health) very easily.
- Banelings are used against lings, which can kill roaches in a surround.
- Mutas are used because neither of these can shoot air. I've never seen a game get past mutas.
TvT: tanks everywhere, viking support
- Siege tanks will incinerate a bioball incredibly quickly. That is all.
- Vikings are used to spot for the tanks and give them that extra range, as well as to secure air superiority.
On another note:
this cast brings up an interesting question. Why don't more protoss get shield upgrades? Not only do they improve damage absorption by all units, they also apply to all structures. Upgraded shields means that any unit can take more hits without the shields failing, which then regenerate over time. Armor upgrades only apply to the army and even then only after the shields have failed.