A Oracle fornece quatro tipos de drivers para seu banco de dados, mas vou enumerar apenas os dois que você perguntou.
O OCI driver é um tipo 2 Driver JDBC e usa código nativo para se conectar ao banco de dados. Assim, é apenas uma opção em plataformas que possuem drivers nativos Oracle disponíveis e não é uma implementação Java "pura".
O driver JDBC Thin da Oracle é um tipo 4 Driver JDBC que usa sockets Java para se conectar diretamente ao Oracle. Ele implementa diretamente o protocolo TCP/IP SQL*Net da Oracle. Por ser 100% Java, é independente de plataforma e também pode ser executado a partir de um Applet. (não que você deva)