There are lots of differences in features supported, but the crucial difference is the architecture: Embedded vs. Client-Server Bitcoin Protocol Node and Wallet.
BitcoinJ is a Java library to embed a Simplified or Full Verifying Bitcoin Node and a Wallet into your application.
The Bits of Proof Enterprise Bitcoin Server is a configurable Full Verifying Bitcoin Node written in Java. The server process is accessible through a message bus for client applications and extensions. Several layers and flavors of client libraries are available, such as: STOMP, Java, REST. The Wallet is implemented in the client library, therefore a server process can serve several unrelated applications and distinct Wallets. Several server instances might run in a load balanced configuration serving clients through a common bus. The company Bits of Proof offers commercial support and hosts server instances.
Doesn't bitcoinj support full mode as well? – ripper234 – 2013-06-17T17:26:54.817
I do believe there is experimental support for the full blockchain in bitcoinj. – Jason Southwell – 2013-06-19T21:08:18.353