The eternal confusion about the roots of negative numbers. The concept of cube root is ill-defined, because it is supposed to be the inverse of a non-invertible function. Unless we admit multi-valued functions, with complications that escalate when you compose two or more multifunctions.
Mathematica makes a compromise that seems very reasonable to me. It gives two distinct cubic roots, x^(1/3)=Exp[Log[x]], which makes perfect sense in the complex plane, and Surd[x,3], or CubeRoot[x], which is what we expect if we are familiar with the reals only. 
Back to the original post
Solve[x^(1/3) == -1, x]
What do we mean by x^(1/3)? It is a number y whose cube is x, that is, y^3==x. Then we want this number y to equal -1:
In[2]:= Solve[{y^3 == x, y == -1}]
Out[2]= {{x -> -1, y -> -1}}
This is the answer that was expected, written avoiding multifunctions. But if we write x^(1/3)==-1, it has a whole different meaning, and it has no solution.