Whereas JavaServer Pages (JSP) is used to define pages, which are compiled to servlets, JavaServer Faces (JSF) is a complete web MVC (Model-View-Controller) framework. Interestingly, it is implemented as a servlet itself.
Makes it easy to construct a UI from a set of reusable UI components
Simplifies migration of application data to and from the UI
Helps manage UI state across server requests
Provides a simple model for wiring client-generated events to server-side application code
Allows custom UI components to be easily built ...