aditya,
one entity manager manages a persistence context. A persistence context is like the scope of variable in
java programs:
local variable: TRANSACTION persistent context
instance variable: exyended persistent context
entity manager is like JVM in java application managing these scopes.
so if you have entity in transaction context scope thn entity manager keep track of it (manage) it till the commit of transaction just like JVm keeps local variable in scope till the method ends.
similarly in extended context, entity manager keeps track of entities spanning multiple method calls/transactions just as in the case of instance variable visibility in a class.
in case of CMT(container managed transaction), a transaction starts and ends with method, in case of BMT(bean managed transaction) it spans multiple methods between the UserTransaction.begin() and commit()/rollback().
Also transaction helps carrying persistent context to propagate it to other components.
the reason why these two type of entity managers are there is to provide flexibilty when developing, EXTENDED can only be used with stateful session beans because transaction can start in one mthod and end in another.
hope tht helps...