The "Music links" example with template tags and a loop. This example isn't meant to prove anything! Use the method which fits your problem!
The output of the title gets escaped by CL-EMB ("-escape html"). Depending on the situation you'd rather escape the output yourself and don't want to use any complicated modifiers in the template code itself.

You can mix template style with embedded Common Lisp style. This example shows how to access the plist ENV. Within the loop (@loop) ENV gets bound to every plist in the list.TBNL is used to access a submitted parameter "product" and compare it to the current value attribute of the option element.
Remember the escaping! Set cl-emb:*escape-type* to :html and all output of @var will be escaped correctly.

You want to use generic templates which can be called with a defined set of parameters? Then @with and @endwith is what you are looking for. It sets the current ENV to the one accessed by a given name. See the example below, which calls a template for textinput fields.