Although the exact proof needs complicated, empirically-derived equations, the essential idea is simple.
Cobalt(III) is a highly charged cation of a moderately electronegative(1.8) atom, so it wants electrons badly.
When bare-naked cobalt(III) is near water, it gets so mad at the highly electronegative, "greedy" oxygen atoms of water's not sharing its lone pairs that it smashes the oxygen-hydrogen bonds of water and "takes away" the bonding pair(s) of electrons of water. Cobalt(III) is reduced to cobalt(II), and the electron-taken-away, zero-oxidation-state oxygens end up pairing with each other to form dioxygen gas- just like how the exceedingly greedy King Louis XVI ended up on the Guillotine and "cut apart".
However, things change when cobalt(III) is near ammonia. Nitrogen is less electronegative than oxygen (meaning that it likes sharing its lone pair to cobalt more than oxygen), and although nitrogen is still much more electronegative than cobalt, the ammonia molecule doesn't mind forming a dative bond to cobalt, even if that would mean that it would gain a formal positive charge. This is obvious, since the atmosphere around the positively charged nitrogen in the ammonium cation is already less "greedy" than that of the oxygen atom in the oxonium cation- when one replaces one hydrogen in the ammonium cation with the even-less-electronegative-than-hydrogen cobalt, the positively charged nitrogen becomes even less "greedy". (Sure, it does want more electrons under extraordinary situations, but it doesn't want more electrons at ordinary circumstances and hence doesn't need to (and doesn't) "take away" electrons from the oxygen-hydrogen bonds of water.) The nitrogens have 8 electrons each near themselves, the cobalt has 18 electrons near itself, and the hydrogens have 2 electrons each near themselves. Everybody is happy- just like socialist democratic Scandinavia.
Hence, hexaamminecobalt(III) is stable in water while hexaaquocobalt(III) isn't.