JSF provides automatic integration between user interface components and model objects, which
are typically implemented as JavaBeans. These objects live in some
scope of the application, such as request, session, or application. JSF allows you to configure beans
in its configuration file (faces-config.xml) so that they are automatically created the first time
they are referenced. This saves you the trouble of creating beans via JSP
usebean tags or in Java code.
To be more specific, JSF has a dependency injection container
called the Managed Bean Creation Facility (MBCF). Any object created by the MBCF is called a "managed bean".
Usually, most of the objects used in your application will be managed beans (or they will be managed by another dependency injection container,
such as Spring).