It is because Mathematica was not told to restrict solutions to when x >= 1 and therefore gives a general solution that works with complex values for the function (which in this case happens when x < 1). Therefore the solution might not end up being as simple as expected.
When you do have a function for which you have a restricted range (and especially if outside of that range you might get complex numbers), you can tell Mathematica that in a number of ways (dare I say no pun intended?):
Simplify[Integrate[((x^3 - 1)^(1/2))/x, {x,1,a}],a>1]
which results in

You might sometimes need FullSimplify rather than just Simplify.