¿Cuál es la diferencia entre los componentes compuestos personalizados de JSF y los componentes clásicos personalizados?

Quiero construir un componente JSF personalizado. Ahora leí algunos documentos de Oracle y vi algunos ejemplos de código. El problema es que estoy un poco confundido:

Parece que hay dos formas de crear un componente personalizado con JSF 2.0+. Por lo que he entendido desde JSF 2.0, puedo usar estos componentes compuestos para construir mi propio componente.

Pero, ¿tienen alguna desventaja en comparación con el componente "clásico"?

Mi componente será bastante complejo ¿pierdo algo (además de la compatibilidad hacia abajo) cuando uso los componentes Compisite?

Por ejemplo, mi componente tendrá que realizar algunos trabajos en java, ¿es esto posible con los componentes compuestos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta