This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
But seriously... Oracle provides two versions of its driver: thin and OCI (thick). Thin is based purely in java and is generally very stable whereas OCI is written in more Oracle native code and is considered more powerful.
I've found most people use thin drivers although there are some excellent reasons for using OCI. Here's a short post listing some reasons:
The "thin" driver merely requires the right jar file(s), usually just one, while the "thick" driver requires an Oracle Client installation, which includes some native code components (DLLs or shared libraries) and the environmental settings to find them.
In other words, the "thin" driver will run any place Java runs, but the "thick" driver is available only for a handful of operating systems (most of the major ones).