As an application developer, you almost always want to keep connection pooling enabled. The only practical reason I can think of to disable connection pooling is when debugging connection pooling issues. For example, if your application is getting a lot of timeout exceptions under load, you may need to disable pooling temporarily as part of the root cause analysis.
At a higher level, connection pooling provides an abstraction over managing the database connection, but the ability to disable it provides more flexibility in scenarios that may apply to framework or library developers.