Cubic polynomials always have explicit solutions and Mathematica certainly knows about them. But Mathematica will by default show the explicit solution only sometimes. I'm guessing there is something about the 'complexity' of the expression that Mathematica uses to choose to hide it as a root object — but does anybody know exactly when it might choose to, or not?
For example, here's a cubic with three real distinct roots that are returned as a root object:
Solve[x^3 - x^2 - 3 x + 1 == 0, x]
You can force Mathematica to show the explicit expressions with the following command though the result contains complex numbers. (Even though they should simplify to real numbers,
Simplify wouldn't do it)
Solve[x^3 - x^2 - 3 x + 1 == 0, x] // ToRadicals