Kiedy używać <ui: include>, plików znaczników, komponentów złożonych i / lub komponentów niestandardowych?

Niedawno zacząłem używać JSF 2.0 z Facelets i zaintrygowały mnie nowe komponenty kompozytowe, znając istniejące <ui:include>i inne techniki tworzenia szablonów oferowane przez Facelets 1.x. Jaka jest różnica między tymi podejściami? Funkcjonalnie wydają się oferować mniej więcej to samo:...