Facelets does have a templating mechanism, both on page level and on component level. I do not have experience with Tiles myself, so I can't tell you how Facelets' templating mechanism compares to Tiles.
It's pretty similar conceptually, with one major difference: Tiles has the ability to "inherit" layouts, while Facelets does not. Apart from that, they can be used in much the same way...create an overall layout, plug in content pages, etc. One difference is that way in which parameters are passed around...in Tiles, you have the tiles scope, but in Facelets you have the ability to specify parameters that are passed through. Again, conceptually similar, with a difference in technique.
Facelets also has something that does not really exist in Tiles: composition components. Suppose you notice a recurring visual effect on a number of pages (such as columns in a data table, or rows in an input form). You can create a component that captures that common structure, re-use it wherever necessary, passing it parameters to tune it to a particular use.
I have tried to use Tiles in Struts. I have tried to use Tiles in JSF. I've always given up. To me, Tiles requires too much work to define everything properly. YMMV.
The Facelets component-building feature is quite useful. I've got several projects where I've used it to good effect. One of them has a lot of pages that have a small scrollable "help control" in them, and I built the "help control" as a component that gets passed the help topic ID as a parameter..
An IDE is no substitute for an Intelligent Developer.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com