Types 2 and 3 drivers, and often type 1, require software to be installed on the client machine. Type 4 drives contain everything the client needs in Java code. This allow the Driver code to be bundled as a 'thin layer' to bridge the gap between your software and the database.
Type 4 Drivers handle everything, say Socket Connection to the DB Engine, IO Streams, etc. themselves, do not depend on any software installed, JNI Calls etc. Normally Type 4 Driver Calls will be considerably slow compared to the natives.