With type polymorphism, we let types depend on other types by using type variables. Type operators (i.e. functions of a type variable) cannot themselves by a type, so we introduce the notion of a "kind". Since, for example, if we have a type operator $F : Type \to Type$, we cannot have $Type \to Type : Type$ (since this would lead to a self-referential paradox), and hence we say $Type \to Type : Kind$
But is there really any difference between this kind of type polymorphism and having universes? Similarly there, in a type theory with universes we might have an operator $F : U_1 \to U_1$, for which $U_1 \to U_1 : U_2$. Of course, usually with universes an infinite hierarchy $U_1 : U_2 : U_3 : \dots$ is assumed, whereas with type polymoprphism you typically only have $Type : Kind$ and maybe $Kind : Sort$.
What, formally, is the difference between these approaches, and are they not really more-or-less equivalent in some sense?