EntityHome is OK for simple CRUD seam-gen apps.
real worldapplications, it is difficult to manage, the semantics of setID and getInstance() is inconvenient, awkward, and difficult to debug, although it is a great fit for calling from pages.xml.
In my experience it is often simpler to just use Entity Manager.
EntityHome does provide some useful examples, for examples, calling joinTransaction() in the update() method. I still don't understand why this is necessary when the method is annotated with @Transactional, which works in most cases. I wonder how I would have figured this one out without being able to examine the EntityHome source code... of course, better documentation would help.
Overall, I appreciate EntityHome as an example, but I'd vote for