QAM's performace and SN
Actually, the angle is 90 degrees, and in an ideal setup, the I and Q components are fully orthogonal.

The system becomes clearer by splitting it between generation of a complex baseband signal and subsequent frequency shift:

\$s(t) = (I(t) + jQ(t)) \cdot e^{jft}\$

This signal is complex-valued, which is difficult to actually generate in the real world, but we can simply leave out the imaginary part, and all it does is generate a mirror image of the signal, with 0 Hz being the mirror axis. This is fully acceptable if the highest frequency component of the I/Q signal is smaller than \$f\$ (so the mirror image doesn't overlap the original image).

By generating appropriate \$I(t)\$ and \$Q(t)\$, we can now generate any modulation schema we want:


AM: \$I(t) = (x(t) + 1) \cdot \frac{d}{2}\$, where \$d\$ is the modulation depth
φM: \$I(t) = cos\ x(t); Q(t) = sin\ x(t)\$
FM: like φM, but integrate \$I(t)\$ and \$Q(t)\$ over time


etc.

For AM, as \$Q(t)\$ remains zero, the only factor determining the frequency is the \$e^{ift}\$, i.e. the constant frequency of the center, while the amplitude \$\sqrt{I^2(t)+Q^2(t)}\$ tracks \$x(t)\$.

For φM and FM, the amplitude remains constant, as \$\sqrt{cos^2\ x + sin^2\ x} = 1\$.

When demodulating, you undo the frequency shift, and again are left with \$I(t)\$ and \$Q(t)\$, plus various error terms:

\$s(t) \cdot e^{-jft} = ( gI(t) + bQ(t) + N_I(t) + j(agQ(t) + cI(t) + N_Q(t))) \cdot e^{jf_et} \cdot e^{j\phi_n(t)t} \cdot e^{j\phi_e}\$, where


\$g\$ is the gain of the transmission channel,
\$N_I(t)\$ and \$N_Q(t)\$ are the noise on the transmission channel as a complex signal,
\$\phi_n(t)\$ is the combined phase noise of the modulation and demodulation oscillators,
\$f_e\$ is the difference in frequency between the oscillators,
\$\phi_e\$ is the difference in start phase between the oscillators,
\$a\$ is the difference in amplification for I and Q parts,
\$b\$ is the amount the Q signal bleeds into the I signal because the signal is not fully orthogonal,
\$c\$ is the same thing in the other direction, and
I've omitted the frequency response and group delay of the transmission channel, because the formula is already complicated enough.


In order to successfully demodulate the signal, we need to handle all of these errors.

For FM, \$g\$ is easy, because we know that the amplitude is constant, and only the angle between \$I(t)\$ and \$Q(t)\$ is important:

\$\sphericalangle (gI(t) + jgQ(t)) = \sphericalangle (I(t) + jQ(t))\$

On the other hand, \$f_e\$ gives a constant offset on the demodulated signal (which audio applications just cut away with a filter). AM has no problem with a frequency offset because that carries no information, but we need an estimation of \$g\$ in order to reconstruct the signal (which is the reason for the "+ 1" in the formula).

Up until here, all of these were analog modulation schemes. For transporting digital data, we have to create a mapping between the analog I/Q signals and the digital data being transported.

For an AM based system (Amplitude Keyed Shifting, ASK), we can define e.g.


\$I(t) = 0.2\$ as a logical zero, and
\$I(t) = 0.8\$ as a logical one,


and give a margin of error to reconstruct the signal in the presence of noise.

A φM based system (Phase Shift Keying, PSK) could use


\$\sphericalangle (I(t) + jQ(t)) = 0\$ for 0, and
\$\sphericalangle (I(t) + jQ(t)) = \pi\$ for 1,


again with some margin of error.

To increase the efficiency of the system, we can add additional symbols:


\$I(t) = 0.2\$ as "00",
\$I(t) = 0.4\$ as "01",
\$I(t) = 0.6\$ as "10", and
\$I(t) = 0.8\$ as "11"


We just doubled the number of bits transferred in one time slot, but the distance between symbols decreased from 0.6 to 0.2, so less noise is required to make us misdetect a symbol.

To finally get back to QAM: here symbols are laid out in a 2D grid that is almost always square, using e.g. \$0.2\$, \$0.6\$ and \$1.0\$ as levels, giving six possible values for \$I(t)\$, and six values for \$Q(t)\$, or a total of 36 combinations (that is QAM36).


\$(-1.0, -1.0) \rightarrow 0\$
\$(-1.0, -0.6) \rightarrow 1\$
...
\$(1.0, 1.0) \rightarrow 35\$


However, we still have the error terms to contend with. If \$\phi_e = \frac{\pi}{2}\$, your reconstructed signal will have \$I'(t) = Q(t)\$ and \$Q'(t) = -I(t)\$, giving us completely wrong symbols, and if we guessed \$g\$ wrong, or the noise exceeds half the distance between symbols, we will also get garbage.

That last sentence is probably what you are looking for: the noise resistance is such that if the noise makes another symbol more likely, then you have too much noise.

Whatever degrades your signal will reduce your error handling capabilities. Some of the error terms from the equation above can be determined and compensated for in the receiver, some easily (\$f_e\$ is usually small enough that you can track it between symbols), some with an agreement with the sender (\$g\$ and \$\phi_e\$ can be found from a fixed preamble or a pilot symbol), and some require a lengthy calibration with known data (that is what DSL link training is).

The more error terms you can eliminate, the more resilient your system will become. In a simple setup with no I/Q imbalance awareness, if the Q axis is slanted by one degree and assuming symbols are normalized to \$(-1, 1)\$, your margin of error will decrease by \$\frac{1}{2}sin\ \frac{\pi}{180}\$, because that is how far the symbol is shifted by the error. This comes out to roughly \$\frac{1}{128}\$, so it will destroy a QAM16384 on its own, and eat up most of the noise resilience of QAM4096.