All a keygen is a program that can be made within 5 minutes. It generates a random string such as AF1F4-QO340-BLAH-BLAH to look like a key when all it really does is block the server that the program (Adobe) uses to check the key. All you're actually doing is putting in a fake key while the keygen blocks your computer from being allowed to contact the Adobe Check Server. This can be done by editing your hosts file.
Are you sure all keygens work like that? Because I tend to copy paste some of the serials for later use so I don't need the key gen, and they normally just work fine. :/
I'm actually pretty sure most work like this:
Get the serial checker on program t

rk against it's self by using the algorithm that checks for serials (like what letters and number combinations are accepted) to engineer another algorithm based off the checking system. (Which basically spews out the algorithm of what's accepted.)
Then it creates keys that accepted by the program based on that.
Also if it just editd your host file then you wouldn't need to edit that yourself when it comes to most photoshopcs5 torrents. FUUUU I hate editing my host file because I'm lazy.
The problem with online games is, once you use a key for a game you normally can't use it anymore. That's why you can just go into gamestop and shit and pretend you're looking at a game or want to buy it when it first comes out and steal serials.... Because it's already registered to a game, then to an account.
Oh and one more thing: Companies who aren't retarded tend to run serials on their program to see if it's legit, when someone uses a serial too many times and it seems suspicious that serial is essentially black listed. That's a serial can work one moment but not a day later.