I played SC like mad a couple years ago. The latest patch REALLY screwed up my zerg builds though...
Best advice I can give you is to mix up your units. Always have a detector with your forces, and make sure you can attack both ground AND air.
Offensive:
As zerg, the mutalisk/zergling army is devastating (and enough zerglings will kill damn near ANYONE if your 'lings are upgraded enough. NOTHING can stop 300 uber-lings, except about 100 guardians or 8 fully charged High Templar), as is hydra/guardian
As protoss, the Arbiter is your friend. Recall is one of the most deadly abilities in the game. If you can sneak an arbiter behind enemy lines, you can recall a large force in moments. And those forces are cloaked.
Dark Templars are damn useful distractions, but a good player will have too many detectors for you to rely on them. And NEVER discount the corsair. A small fleet of them can take out almost any equal sized air force, if you make them all target the same ship at once. Shift+rightclick enemy troops in order, and they'll automatically go to the next after one dies.
As Terran: Tanks, Wraiths, and SciVessels, with SCV repairs. You can include marines if you wish to. Use sci vessels to EMP any spellcaster or cloaked enemy, and Irradiate powerful biological beings or peons. THe cloaked wraiths and stimmed marines can protect your tanks, and seiged tanks have the longest range of ANYTHING in the game. Their range is actually longer than their sight, so park a wraith or cloaked ghost about 3 meters in front of your tank, and the enemy won't see you before you open fire.
Defensive:
Zerg: MAKE YOUR OVERLORDS PATROL! NEVER clump them in a corner. They can see cloaked enemies, and if a clever opponent can cast a psionic storm, irradiate, or plague on them, they ALL DIE. Then you're screwed, cuz you can't build an army. With a good patrol pattern and the random spore/sunken colony/lurker, you can have a very tough defense.
Protoss: Have at least 1 observer per base. Make sure that essential buildings have AT LEAST 2 pylons powering them. Keep a High and a Dark templar around. Either can turn the battle. If you have the cash, keep an arbiter hidden, with enough energy to recall troops at a moments notice, this can save your base.
Terran: The seige tank is your friend. Put them on high ground around your base. They can easily kill half an incoming ground force in just 3 or 4 volleys. Put medics in your SCV areas. They'll heal your workers, and can give you a few extra seconds. Have plenty of Missle Turrets for detectors, and a Sci Vessel or two. If you have a small entrance, it's possible to completely block it off, or create a small maze with your supply depots, slowing or stopping ground troops. This isn't good if you need to get OUT in a hurry though.
General Tips: Group your troops. Highlight troops or buildings, CTRL+number, then just press that number to select that force or that building. I typically bind my chief command center/nexus/hive to 0, so I can get home in a hurry.
Use the SHIFT+Rightclick command liberally. Make your army take out the opponent one at a time. You'll lose half as many troops that way.
Don't be afraid to run away. Zerg troops heal. Protoss can recharge with shield batteries. Terrans repair and have medics. It's better to retreat for 30 seconds than spend 2 minutes rebuilding everything you lost.