I am pretty sure that the following statement is true. I would appreciate any references (or a proof if you know one).
Let $f(z)$ be a polynomial in one variable with complex coefficients. Then there is the following dichotomy. Either we can write $f(z)=g(z^k)$ for some other polynomial $g$ and some integer $k>1$, or the restriction of $f(z)$ to the unit circle is a loop with only finitely many self-intersections. (Which means, more concretely, that there are only finitely many pairs $(z,w)$ such that $|z|=1=|w|$, $z\neq w$ and $f(z)=f(w)$.)
EDIT. Here are a couple reasons why I believe the statement is correct.
1) The statement is equivalent to the following assertion. Consider the set of all ratios $z/w$, where $|z|=1=|w|$ and $f(z)=f(w)$ (here we allow $z=w$). If $f$ is a nonconstant polynomial, then this set is finite.
[[ Here is a proof that the latter assertion implies the original statement. Suppose that there are infinitely many pairs $(z,w)$ such that $|z|=1=|w|$, $z\neq w$ and $f(z)=f(w)$. Then some number $c\neq 1$ must occur infinitely often as the corresponding ratio $z/w$. However, this would imply that $f(cz)=f(z)$ (as polynomials). It is easy to check that this forces $c$ to be a root of unity, and if $k$ is the order of $c$, then $f(z)=g(z^k)$ for some polynomial $g(z)$. ]]
Going back to the latter assertion, note that the set of all such ratios is a compact subset of the unit circle, and it is not hard to see that 1 must be an isolated point of this set. So it is plausible that the whole set is discrete (which would mean that it is finite).
2) If I am not mistaken, experiments with polynomials that involve a small number of nonzero monomials (such as 2 or 3) also confirm the original conjecture.