Some peers may be setup in a way that yields a more or less permanent connection error. For example the peer could have accepted a block which the local node deems invalid, it could be running on a different network, or it could be behind a firewall.
Currently these nodes are only replaced every churn interval (about once per hour), and the more errors the more likely they are at being replaced. However this is still a rather slow process.
By limiting the number of connection attempts before we forget a broken peer we makes it easier for the node to reach its established peers target.