Q:

Why shouldn't I use max value for max_connections

On MySQL, is there any reason not to set max_connections to max value (100000)? 
What would be the side effects of such approach? 

A:

From the docs:- Too many connections:

The number of connections permitted is controlled by the
  max_connections system variable.  The default value is 151 to improve
  performance when MySQL is used with the Apache Web server. 
  (Previously, the default was 100.)  If you need to support more
  connections, you should set a larger value for this variable. 
mysqld actually permits max_connections+1 clients to connect.  The
  extra connection is reserved for use by accounts that have the SUPER
  privilege.  By granting the SUPER privilege to administrators and not
  to normal users (who should not need it), an administrator can connect
  to the server and use SHOW PROCESSLIST to diagnose problems even if
  the maximum number of unprivileged clients are connected.  See Section
  12.7.5.30, “SHOW PROCESSLIST Syntax”. 
The maximum number of connections MySQL can support depends on the
  quality of the thread library on a given platform, the amount of RAM
  available, how much RAM is used for each connection, the workload from
  each connection, and the desired response time.  Linux or Solaris
  should be able to support at 500 to 1000 simultaneous connections
  routinely and as many as 10,000 connections if you have many gigabytes
  of RAM available and the workload from each is low or the response
  time target undemanding.  Windows is limited to (open tables × 2 + open
  connections) < 2048 due to the Posix compatibility layer used on that
  platform. 
Increasing open-files-limit may be necessary.  Also see Section 2.5,
  “Installing MySQL on Linux”, for how to raise the operating system
  limit on how many handles can be used by MySQL. 

If you try to make more connection then what your system can support then eventually all those connections will be closed by default as your system configuration will not support it.