Connecting to the DB is expensive (in terms of time). Connection pooling gives you the ability to reuse a set of connections without creating new connections everytime. It might be obvious that this gives very positive results in terms of DB performance.