There are few reasons, e.g. these questions. But as an incomplete summary, it means your templates are language independent and it enforces a style of coding and application design that is easier to test and maintain.
(This isn't to say that logicful templates are never appropriate: for quick hacks and prototyping they are perfect!)
If it's worth saying, but not worth its own post, even in Discussion, it goes here.