Connection pooling is usually done to improve application performance and decrease the load on the database.
DriverManager is only responsible for creating new connection to the database. As you probably know, creating a connection and logging in to the database is relatively time-consuming. Therefore, connection pool is often used. A connection pool is like a facade to the DriverManager. Application can use the Connection Pool to ask for a connection to database. Connection Pool caches the connections to the database. This means that once an application ends using a database connection (e.g. at the end of transaction), Connection Pool does not release it, but reuses it when the application asks for the connection again. Anyway, you can find much information on this topic for example here
[ September 09, 2002: Message edited by: Tanel Alumae ]