And the difference is:
Not much.
Velocity uses javacc to parse, Webmacro used a hand-coded parsing routine until recently, when the bugs drove them to javacc. Velocity also has an internal macro system ($macro()) and a much cleaner architecture.
Other than that, they are almost identical. There was a GPL issue with WM's license, which is really what precipitated Velocity. Now WM comes under the GPL and the ASF. Velocity is BSD and ASF.
Regards,
-scott anderson