The exact gain depends on your architecture (stateless, stateful, etc)
All usages are not for the same reason though: some people use it for failover whereas other use it for scalability.
Currently we don't provide distributed locking at the application server level. For this, use Gemstone Facet product (JBoss partner). So you will have to use commit option B/C and pessimistic locking at the DB level. Shortly, we will provide easy distributed caching for non strict data in commit option A (but no distributed-locking).
If you have some numbers, we are interested in.