What Causes there to be a Maximum Amount of Salt which can be Dissolved in Water?

When you add salt to water and stir, after a while the salt will no longer dissolve. Why is this?

$$\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.