Each connection is a process on the server, that takes up both CPU and RAM, it will run out.
This solves the thousands of clients case for read in a way that is transparent to the clients.
Yes it's required at large scale, especially if you want to distribute reads or shard to a particular geographical area.