There's a line to walk with copy protection - from the game company's standpoint they (should) want to minimise illegal copies, while maximising the satisfaction and freedom of legitimate users. Too lax (no measures taken at all) and anyone and everyone can, without effort, copy the game. Whilst this will win you some brownie points, it'll also open you up to widespread casual copying. Too restrictive and the pirate copy becomes less hassle than the real deal, whilst the legit experience offers you nothing extra. Then everyone that cares will refuse to buy, on principle, and even normal users are going to be frustrated, possibly turning them on to illegal copies as a workaround, increasing piracy in the future.
Acknowledging that piracy is going to happen, despite any big and complex DRM scheme, the middle road really consists of just enough anti-piracy to prevent someone cutting a copy without thinking about it, but no more restriction than that. CD-keys are close to this - takes more effort than a straight copy/paste job to make a copy, but it doesn't really hassle people who bought the game for real. I think Steam pretty nails it in a different way - it's not hard to find a pirate copy of a game that's on Steam, but the Steam service itself adds value to the games you've bought (tracking achievements, finding servers, the whole community aspect of it) and encourages legality that way. Meanwhile in the background there's protection that's barely noticeable under normal use.
You can download and install your games as many times as you like (there's another bonus to going legit - backup stored for you in your account), you can play on multiple machines so long as you're not in two places at once, you can go offline, the full works. Admittedly it runs into problems when you want to share a Steam account with other people in the family, even to play different games simultaneously, but that's part and parcel of the idea of being tied to an account - the account should be yours and yours alone. Not perfect... you don't want to have to re-buy a game for more than one person... maybe they should allow a small number of concurrent logins, but it's not bad.
The only other part of Steam that bugs me is that you can never return, re-sell, lend or transfer a game after purchase... I honestly think that needs improvement, but it's hard to see how they could do it without opening an exploitable hole. On the other hand, there are always exploitable holes, and people are more likely to hop onto BitTorrent than try to play silly buggers with Steam, they could just put it through a non-automated service to get some human oversight of the process and it'd probably be fine. Either way, I love me some Steam is what I'm saying.