MACRO has powerful tools for templates composition such as wrapping, including, reusing, multiple wrapping. We really don't know any other template engine that offers the same capabilities.
MACRO is a compiling template engine where initial template is compiled into php-class. Unlike Smarty, MACRO compiles templates only as a whole. This means that compiled MACRO template is always fast and all includes and wraps cost you nothing in terms of execution speed.
MACRO has just a small set of restrictive rules. You can use regular php-blocks inside MACRO template, you can use any helpers, etc. You can use MACRO aims or not - it's up to you. We really worked hard to find best possible balance between ease of use of raw php-code in templates and MACRO elements.
You can always extend MACRO with our own elements such as tags and filters.
MACRO compiles it's elements into very clean php-code, much cleaner than Smarty or WACT. This makes MACRO to be a fast template engine. And you can always create you own version of MACRO elements to produce even more optimized php-code.
You can write your own template resolving mechanism or implement you own MACRO config.
MACRO suits perfectly for html-coders since has a rich set of tools for rendering lists or table, pager, forms, etc. Html-codes can do most of templates composition job without any help of php-developers.
Cons
Do you have any opinions? ;) Let's discuss them at our forum.