title: When to use <ui:include>, tag files, composite components and/or custom components?
body: <p>I started using JSF 2.0 with Facelets recently and got puzzled by new composite components knowing existing <code>&lt;ui:include&gt;</code> and other templating techniques offered by Facelets 1.x. </p>
  
  <p>What is the difference between those approaches? Functionally they seem to offer about the same: <code>&lt;ui:param&gt;</code> vs <code>&lt;cc:attribute&gt;</code>, <code>&lt;ui:insert&gt;</code>+<code>&lt;ui:define&gt;</code> vs tag files, reuse of the existing templates. Is there anything besides syntax and clear interface specification in case of composite components? Could performance differ?</p>