I think you mean - difference between the "User Written Code" (not transformation) and Transformation created by Transformation generator Wizard - Please correct me if Im wrong.
There is a big difference between the two.
In then "User written code" you can not control you input etc. properties (as metadata), where you in a "User written transformation" can specify your properties (code options and input/output data) as metadata - This way you can still perform i.e. impact analysis. The ETL developer will have to provide this information as you would in a out-of-the-box transformation through drop-down-boxes.
By using "User written transformation" you give the project good metadata and good flows.
Generally you should never use "User written code", "included code" or "macros" (sometimes you will have to anyway) and only write generic, easy maintained and documented "User written transformations".