I'll try an answer in a different (equivalent) direction: what happens when the matrix is *not diagonalizable*?

First of all, this must mean that some of the matrix's eigenvalues occur more than once. Otherwise the matrix really can't do anything else than simply stretching its eigenvectors by $\lambda_n$. So what if two eigenvalues are equal? Let's write down the most non-trivial non-diagonalizable example there is
$$\pmatrix{0 & 1 \cr 0 & 0}.$$
This (as you have correctly observed) crushes the space. But the important point is that it doesn't crush it to zero! Instead it only crushes it to some subspace. In general, if you have a nilpotent matrix (all eigenvalues vanish) there are many subspaces (of varying dimensions) to pick from and so many different ways to crush the space. The zero operator sends everything to zero immediately while it will take a nontrivial nilpotent matrix some (finite) time in a sense that for $T$ nilpotent, $T^n = 0$ for some $n$. In general, every nilpotent matrix is similar to a matrix that looks something like this
$$\pmatrix{0 & 0 & 1 & 0 \cr 0 & 0 &1 &1 \cr 0 & 0 & 0 & 1 \cr 0 & 0 & 0 &0}$$
with some ones above the diagonal. The precise position of those ones (if there are any) determines which subspace is being crush to which and so on. You are very much encouraged to play with such matrices in $\mathbb R^3$ (where there are not too many possibilties how a nilpotent matrix can look like, but still enough to show what happens).

Having said all this, it would be a sin now not to mention Jordan decomposition. When studying a matrix $A$ you first find its eigenvalues and corresponding eigenspaces. So pick such an eigenspace corresponding to the eigenvalue $\lambda$. Then $A - \lambda$, restricted to this eigenspace, is a nilpotent operator! If this nilpotent operator is zero, then the original matrix $A$ just stretches this eigenspace by $\lambda$. But in general it can perform a lot of nontrivial shuffling (corresponding to the nilpotent part).