The advantage of using a keygen (as opposed to just finding a serial on the web) is that the generated key will be unique, (as it is generated on the spot using the same methods as the software vendor) and not traceable or in use by the legitimate owner.
These are usually written by cryptology enthusiasts.