Many people have a LoveHateRelationship with CodeGeneration. This page attempts to address some of those issues.
First and foremost, ActiveCodeGeneration is generally the preferred method for code generation, as opposed to PassiveCodeGeneration.
CodeGeneration is often effectively used to CrossChasms?.