How does the Jboss seam work with EJB, JSF and Hibernate?
This is a loaded question. I just wrote 550 pages to explain it.
Basically, the answer is simple. JSF needs to have objects to call to make the page do something (process a form, have objects to render, etc). Seam connects JSF to whatever backend you need. You can have plain JavaBeans with a @Name annotation or you can Seam-enable an EJB. What Seam does is scope those objects to a lifetime that makes sense for the user-interface.
As for Hibernate (and also JPA), Seam helps bootstrap the persistence infrastructure (much like Spring does). Then, most importantly, Seam let's you inject the Hibernate Session or JPA EntityManager so you can use it and scopes it to the conversation so that the persistence context is stretched across requests to avoid LIE. There is tremendous detail on this topic in chapter 8 and 9 (I beat you over the head with it practically).