You need to understand that Mathematica prefers to write some numbers in their closed form because with numerical values, you would loose information and probably precision. It is kind of why it is better to keep Sin[4] and not use -0.756802, because Sin[4] can probably later in your calculation be combined or simplified with other expressions.
That being said, an easy way to understand matrix-power is to assume you can decompose your matrix A into $A=PDP^{-1}$, where D is a diagonal matrix. This is not always possible with every matrix A, but in your case it is. Please see DiagonalizableMatrixQ for more information.
If A is indeed diagonalizable, you can use
$$A^n = P D^n P^{-1}$$
and look how easy it is to calculate the power of a diagonal matrix:

So what you can do is to calculate D and P by
A = {{1, 2, 3}, {4, 1, 0}, {0, 5, 4}};
{p, d} = JordanDecomposition[A];
Looking at d, you see the same Root objects

The components in on the diagonal, really just mean the 1st, 2nd and 3rd root of a special polynomial: the characteristic polynomial of the matrix A. You can compute it with
CharacteristicPolynomial[A, x]
(* 32 - x + 6 x^2 - x^3 *)
and you can find the roots by a simple
Solve[-32 + x - 6 x^2 + x^3 == 0, x]
Now, it is important to see that you get the same numerical values by using ToRadicals[d]. Compare them!
Finally, you can easily write down your matrix power with p and d and of course, you can compare it to what MatrixPower gives as answer (might take a while)
FullSimplify[p.d^n.Inverse[p] == MatrixPower[A, n], n > 0]
(* True *)
Root[]and this thread to help you understand your result. You might want to applyToRadicals[]to your result if you want to see explicit (and complicated!) radical expressions. – J. M.'s missing motivation Feb 17 '16 at 03:39