Do you mean when would you use Container Managed Transactions/CMT(method level) or Bean Managed Transactions/BMT (bean level)?
Typically you will want to use CMT whenever you can, as it allows a cleaner separation between transaction control and business logics; the bean developer only focuses on business logics and you leave transaction details to the container (grab any
EJB book, they'll give you a much better comparison)
However, as live itself, everything comes to a cost, and the benefit of CMT introduces a 'small' performance problem on where you may end up locking database resources for longer than necessary.
Sometimes this 'small' overhead is a problem. You may want to have a look at BMT.
Going back to your question, you would use BMT, for example, when you have a large method doing time consuming processing, and only a small part of it performs database access requiring transactional isolation. In that case, assuming that performance is an issue, you may not want to have a 'method transaction', but to just start and commit the transaction to wrap your database code only.
... however, if you meant something else by 'method transaction' or 'bean transaction', then the answer would be I don't know...
Eduard