I've spent some time thinking about what might be being asked here. the only thing I can think of is that when a particular database connection is found to be in what we call a "disconnect" state, the connection is invalidated, so that the connection will reconnect and make a new connection. But also, this operation will typically assume the "disconnect" condition is that the database was restarted, or some other network condition has probably made all the connections that are pooled also invalid. So the entire pool will be invalidated in this case as well.
Why someone might want to turn that off is if they are getting lots of invalidated connections for some other reason and they are not able to solve that problem, so they'd like the pool to not be invalidated totally. This means that if the database is restarted, and for example you have 20 pooled connections, you will in a high-request environment get up to 20 server errors unless pool_pre_ping is turned on so that the connections are refreshed one at at time.