What Causes there to be a Maximum Amount of Salt which can be Dissolved in Water?
When a salt dissolves in water, there is a competition between the electrostatic forces that keep the anion and cation together and the ion-dipole forces that solvate the ions.  One could write this equation as:

$$\ce{AB + q H2O \leftrightarrows A(H2O)_{m}+ + B(H2O)_{n}-}$$

where $q=m+n$. Since this is an equilibrium, we can write an equilibrium constant, which is oftentimes referred to as the solubility product: $$\ce{K_{sp}=[A(H2O)_{m}+] * [B(H2O)_{n}^{-}]}$$

Very soluble salts will have a large, but finite, $K_{sp}$.  The magnitude of the solubility product can be rationalized by comparing the energy required to break the electrostatic bonds (the lattice enthalpy) and the energy released by forming solvated ions (solvation enthalpies).  One can use a Born-Haber cycle to predict whether the dissolution of a salt will be endothermic or exothermic, and we would need a similar approach to address entropy changes before we could get a complete, quantitative understanding of the solubility.