This attribute declares a macro. Think of macros as library of small templates which can be reused in any other template.

<div metal:define-macro="main_menu">
    <li><a href="/">home</a></li>
    <li><a href="/products">products</a></li>
    <li><a href="/contact">contact</a></li>

    Last modified:
    <span tal:content="mdate">page modification date</span>

Macros inherit all variables from their caller. In the above example, the variable 'mdate' depends on the template that calls the macro.