I recently was writing about this on wikipedia. The most intuitive way to see why an operator like $S_z$ has discrete values is based on its relation to rotation operators:
$R_{internal}(\hat{z},\phi) = \exp(-i\phi S_z / \hbar)$
where the left side means rotation of angle $\phi$ about the $z$-axis, but only rotating the "internal state" of particles not its spatial position (see wikipedia article for details). Since a rotation of $\phi=720^\circ$ [see below] is the same as no rotation at all (i.e. the identity operator), you conclude that the eigenvalues of $S_z$ has tocan only be an integerintegers or half-integerintegers.
...much like how a standing wave on a circular string has to have an integer number of wavelengths.
--
Wait, why did I say $720^\circ$ not $360^\circ$?? Well, there are two mathematical groups that could plausibly correspond to rotation in the real world: $SO(3)$ and $SU(2)$. In $SO(3)$ but not $SU(2)$, rotating $360^\circ$ is the same as not rotating at all. In BOTH of them, rotating $720^\circ$ is the same as not rotating at all. So we can be totally sure that the $720^\circ$ rotation operator is the identity operator, whereas for $360^\circ$ it would just be a guess based on extrapolating from classical physics intuition. As long as there are fermions present, the guess is wrong! Rotating a fermion by $360^\circ$ corresponds to flipping the sign of its wavefunction.