There is an excellent article on code generation at Frans Bouma's blog
One potential disadvantage he mentions is that the generated code is not up to par with the functionality requirements you have.
I have a similar concern. That is, they can get big, complicated and become the centre of attention. This can detract from the application being built. At the end of the day, we are building a system or application for a client. It is those requirements and that application which should have our primary focus.
Finally, for me the ultimate code generator is a powerful scripting language such as Perl, Python or Ruby. Using these, you can build and maintain custom code generators quickly.