Seems like a very poor example, the whole power of EJBs is to use Container Managed Transactions so you don't NEED to manage the transaction and the entity manager yourself. What you posted is code I would expect in a non-JEE application, or in a piece of code which requires fine-tuned transaction boundaries such as batched data importing logic.
If I were you I'd research JPA in steps.
a) learn about JPA as an API outside of the scope of EJBs (recommended reading: the book 'Pro JPA 2')
b) learn about Container Managed Transactions in EJBs
c) learn about Bean Managed Transactions in EJBs
Right now you're rushing into c). I can understand that it raises many question marks at this point.