As it says
In[325]:= Clear[y, yI]
y[x_] := x^5 - 3 x^4 + 7;
yI[x_] := InverseFunction[(#^5 - 3 #^4 + 7) &][x]
In[332]:= y[3.2] // N
Out[332]= 27.9715
In[333]:= yI[y[3.2]] // N
During evaluation of In[333]:= InverseFunction::ifun: Inverse functions are being used. Values may be lost for multivalued inverses. >>
Out[333]= 3.2
In[337]:= InverseFunction[#1^5 - 3 #1^4 + 7 &][x]
During evaluation of In[337]:= InverseFunction::ifun: Inverse functions are being used. Values may be lost for multivalued inverses. >>
Out[337]= Root[7 - x - 3 #1^4 + #1^5 &, 1]
Clearly yI[y[x]] = x which is the definition of an inverse function: f^-1 ° f = Id.
Because of the fundamental theorem of algebra (each algebraic equation (with integer non-negative powers) has (over the complex numbers) as many solutions as its degree says, counting multiplicities) there are four other inverse functions in the mentioned case, but in the case of an polynomial of odd degree it makes sense to consider the real root. This point is figured out by the InverseFunction::ifun message.
Finally, Mathematica needs a way to express the concept root of an algebraic equation and it choosed the Root[] construct to do that.
Please find further considerations in Root