It does templating well. Really my largest problem with it was getting rid of it's log file. So I set it to use the log4j logger.
Properties velocityProps = new Properties();
velocityProps.setProperty( "runtime.log.logsystem.log4j.logger", "root" );
Velocity.init(velocityProps);
Only decent piece of Java software I have ever worked with.
And of all templatting systems out there, it is probably the one with the most sane syntax and design.
Does one thing, and does it well, I wish others could learn from this principle.