2.1.1 User interface components
"Packaging UI elements as a component... makes development easier because the core functions are encapsulated within a reusable piece of code."
"The way a component looks is how it is rendered." A properly designed JSF component is "renderer neutral" when it behaves the same regardless of how it appears to the user.
JSF maintains "state" between HTTP requests. "Faces components can remember their values between requests because the framework maintains a tree of the UI components for a given page. This component tree, called the view, is JSF's internal representation of the page, and it allows parent-child relationships... Using 'view' instead of 'page' underscores the fact that the user's representation doesn't always have to be an HTML web page."
Components saved in this state tree are identified by a "component identifier" and multiple components can be associated into groups called "facets."