Playing against other people is completely unlike playing the single player campaign, and both are unlike playing head to head matches against the pc on multiplayer maps.
I haven’t played against real people for ages (nor much at all, truth be told), but I always preferred zerg myself for such applications, for the simple reason that they don’t need so much micromanagement in battles, just build up a whack of hydras and send them in a massive wave. (I like terrans in campaign situations precisely because they do - I love inching my tanks forward with carefully overlapped fields of fire while making sure the anti-air screen doesn’t fall too far behind. But not against people, or even against head to head matches against the pc. I don’t multi-task well enough.) However, against talented people the zerg are going to suffer in the late-game. There are no good zerg answers to battlecruisers, carriers, nukes, templars, etc. If you let your enemy get to the top of the tech tree, you’ve pretty much lost already.
It sounds to me like the basic shift you need to make is in aggressiveness. If you play the campaign like I do, you like to focus on defense while you build up an unstoppable force, and then unleash it on the computer’s position. This works because the computer doesn’t send effective attacks at you in the campaigns. It sends stuff at you piecemeal, and you can generally absorb an unlimited number of attacks at near zero cost to yourself with the right defense. People aren’t like this. People are more like you. So what you want to do is hit early and often, keep them off-balance, and never let them get established. The more aggressive player will usually win. One simple way to play more aggressively - use troops instead of buildings for base defense. Because you can send the defense troops as a quick follow-up attack wave if you get your opponent on the ropes, or even use them to boost the size of the main attack, though this can screw you over if your enemy hits your base after you send your force out but before you get his attention with an attack. Plus you can withdraw survivors to another base if you’re clearly already losing a base. Sinking resources into defensive buildings allows for much less flexibility, though it of course provides some other advantages.
Memorizing a couple good build orders and learning how to do early recon are also useful.
This is probably applicable to every rts game ever made.
Hmm. Just thought of a nice illustration of the basic principle. In the basic campaign, one of the early terran missions has you defending a position for a fixed time (30 minutes?), at which point dropships will arrive to evacuate you. With a couple minutes left, the computer sends everything it has in a massive attack wave that is quite devestating. Most people, I’m sure, play this the first few times in a defense-first sort of way, which actually makes it quite difficult. You need a lot of bunkers with the right mix of troops in them to fend off the final attack wave. But if you play aggressively, the level is pathetically easy. Three barracks will easily turn out enough marines to send largish attack waves that will wipe the zerg out long before the time limit is up.