For what it's worth, here is my summary of the theory of normal forms of finite dimensional linear operators (more or less the content of a first or second course of linear algebra):
Given a linear operator T on a finite dimensional k-vector space V,
V has a decomposition into a product of subspaces Wj on each of which T is equivalent to the action of multiplication by X on a quotient space k[X]/(fj) of a polynomial ring. I.e. if Wj is a subspace corresponding to a polynomial fj, there is an isomorphism from Wj to k[X]/(fj) under which the action of T on Wj corresponds to multiplication by X on k[X]/(fj). In particular, fj is the minimal polynomial of T on Wj. Thus understanding the behavior of T on V is accomplished by finding these polynomials fj and the corresponding subspaces Wj.
The first clue to finding these polynomials is that their product is equal to the "characteristic polynomial" of T, so the problem is to find the appropriate factorization of that polynomial. E.g. if the characteristic polynomial is irreducible over k, there is only one subspace W=V, and f = the characteristic polynomial. In general, the distinguished subspaces can be chosen so that the corresponding sequence of monic polynomials f1,...,fr successively divide each other, and when this is done this special sequence of polynomials, called "invariant factors" of T, is uniquely determined by T. In this case the largest degree one, fr, is the minimal polynomial of T on V.
Thus if the characteristic polynomial is a product of distinct irreducible polynomials, there is again only one subspace W=V, r=1, and f equals the characteristic polynomial. In general, the “invariant factor decomposition”, can be computed by hand from any matrix for T, by diagonalizing the associated "characteristic matrix", using the Euclidean algorithm in k[X].
Two operators S,T are “similar”, i.e. T = (U^-1)SU for some invertible operator U, if and only if S,T have the same invariant factors. If M is a matrix for S in some basis, another way to say T is similar to S, is that there is some basis in which T also has the matrix M.
A second standard decomposition exists where the polynomials fj in the model
spaces k[X]/(fj) are all powers of irreducible polynomials. For this decomposition, the
sequence of polynomials fj is almost uniquely determined by T, except for a chosen
ordering of the irreducible polynomials.
This second decomposition, called the “generalized Jordan decomposition”, always exists in theory, but can be computed in practice only for those examples where the irreducible factors of the characteristic polynomial of T can actually be found, e.g. for a “triangular” matrix.
A special case of the Jordan decomposition occurs precisely when the minimal
polynomial factors completely into distinct linear factors. Then the Jordan form,
which may or may not be effectively computable, is a diagonal matrix. This is
always the case when the matrix consists of real entries which are symmetric about
the main diagonal, although even then one may not be able to perform the factorization in practice, nor to actually find the numerical entries on the diagonal. In that event one may turn to approximation techniques to estimate these "eigenvalues".
If a real matrix does not equal its "transpose", (= its reflection about the diagonal), but does commute with it, then the minimal polynomial is again a product of distinct irreducible factors, hence of degree ≤ 2, and the subspaces Wj all have dimension ≤ 2. If a complex matrix commutes with the complex conjugate of its transpose, its minimal polynomial is also a product of distinct irreducible factors, and since these must all be linear it is actually diagonalizable. In all cases where the matrix either equals or commutes with its transpose, the decomposing subspaces can all be chosen mutually orthogonal , indeed subspaces corresponding to distinct irreducible polynomials are automatically orthogonal.