The strategic-basis discussion above was organized by which kind of basis you choose. Reading the page in the other direction — starting from what you know about the matrix and asking what form it can be reduced to — gives a recognition guide for similarity transformations. The table below collects the standard canonical forms: when a matrix's structure permits a stronger reduction, similarity can deliver it; when no diagonalization exists, similarity still delivers the Jordan form (over ℝ or ℂ) and Schur form (always available over ℂ). It is the lookup card to consult when a specific A is in front of you and the question is how far similarity can simplify it.
Every row below is the same operation — conjugate A by some P and see what comes out — and they are ordered by how much structure A has to have for the result to be simple. The split is between the cases that reach a diagonal matrix and the cases that reach the closest thing available, which is where most matrices actually land. Read downward and the hypotheses weaken while the form degrades in step. Distinct eigenvalues give a diagonal matrix and are easy to check; symmetry gives a diagonal matrix and an orthogonal P, so the inverse is a transpose; matching multiplicities is the exact condition and is the one that actually has to be tested. Below that line no diagonal form exists, and the question changes from how do I diagonalize this to what is the best I can do. The last two rows answer that differently and it is worth knowing which is used. The Jordan form is the more informative — the ones on its superdiagonal count precisely how many eigenvectors each eigenvalue is missing — but it is numerically unusable, since an arbitrarily small perturbation can change the block structure entirely. The Schur form gives up on diagonal blocks and settles for triangular, in exchange for a unitary P and stability. Libraries compute Schur; textbooks prove Jordan.