Summary
The technical difference between BMP and CMP comes down to who will manage the persistence of a bean's data, but the design issues between the two open a whole other can of worms. BMP offers you greater performance, flexibility, and application server independence; CMP picks up with greater maintainability and convenience. Just because of the nature of some data CMP is not an option, but what is the bottom line? Consider the nature of your data and the nature of your users, weigh the two, and determine what makes the most sense for your problem domain!