Two square matrices $A$ and $B$ are said to be similar, or conjugate, if there exists an invertible square matrix $P$ such that $A = P^{-1}BP$. This is equivalent to saying that $A$ and $B$ represent the same linear transformation in different bases, with $P$ providing the change-of-basis matrix that relates them.
If one wants to solve a linear equation but is working in an inconvenient basis, it may help to change the basis to a more convenient one. Sometimes one can find a convenient basis by inspection, but in general one often changes the basis to obtain the Jordan canonical form of the desired matrix. For solving linear equations the Jordan canonical form is ideal, since (1) it has a very simple structure (upper triangular, and only $1$-s just above the diagonal) and (2) it can be computed for any square matrix.
It is important for theoretical reasons to know that one can always find the Jordan canonical form of a square matrix. It simplifies many abstract proofs to assume a matrix in the proof is in Jordan canonical form. If you know a little abstract algebra, the Jordan canonical form is also of interest in the sense that it completely classifies the conjugacy classes of matrices over the complex numbers (and some other fields as well), and is a special case of a more general phenomenon regarding module homomorphisms.
However, as for more real-world purposes the Jordan canonical form is not ideal. The primary example of a real-world application would be solving a system of linear equations (for example, one that comes up when trying to solve a system of linear ODEs), and unfortunately the Jordan canonical form is not well-suited to this task in practice. The reason is that the Jordan canonical form is very sensitive to perturbations in the original matrix; that is, if an entry $a_{ij}$ in the matrix $A$ is perturbed to $a_{ij}+\epsilon$, it is very possible for the Jordan canonical form of the new matrix to be wildly different from the original Jordan canonical form. (That is, the Jordan canonical form is not numerically stable.)
The numerical instability of the Jordan canonical form makes it bad in real-life applications, where systems of linear equations arise from real-world data that always has a level of uncertainty. For this reason, in real-world applications one must abandon the Jordan canonical form for numerically stable algorithms. One example of such an algorithm is the Schur factorization, which also transforms (using unitary matrices) a matrix into a conjugate upper triangular matrix, and thus simplifies the solution of linear systems.
Since the eigenspace corresponding to $\lambda=0$ is 2-dimensional, there are 2 Jordan blocks for $\lambda=0$; and since this eigenvalue has algebraic multiplicity 4, the two blocks have to have sizes adding to 4.
Therefore there is a $3\times3$ block and a $1\times1$ block, or there are two $2\times2$ blocks.
In the first case, we could find a string $z_i\longrightarrow y_i\longrightarrow x_i$ for one of the eigenvectors, where
the arrow indicates the operation of applying $A-\lambda I$ to the vector;
so since $\lambda=0$, this would mean that $A^2(z_i)=x_i$, and the author claims that this system has no solution (for $i=2$ or $i=3$).
Therefore there must be two $2\times2$ blocks, and so we can find strings
$y_i\longrightarrow x_i$ for $i=2$ and $i=3$ by solving $A y_i=(A-\lambda I)y_i=x_i$ for $y_i$.
The columns of $X$ consist of the vectors in these strings and the eigenvector chosen for $\lambda=1$.
Best Answer
The most generic answer: any time that we can reduce a problem over an incredibly general object (say, a matrix) to a problem in which we have more information at our fingertips (say, the same problem but over matrices that are in JCF), we make life easier - both in terms of proving theory and in terms of practical computations.
To be more specific to the situation at hand: the Jordan canonical form is sort of the next-best-thing to diagonalization. If the matrix is diagonalizable, then its JCF is diagonal; if it isn't, then what you get is at least block diagonal, and the blocks come in a predictable form.