Suppose $r$ is a root of the polynomial. Then $p(r^2) = p(r) p(r+1) = 0$ and $p((r-1)^2) = p(r-1) p(r) = 0$, so $r^2$ and $(r-1)^2$ are
roots as well.
In order to avoid generating an infinite sequence of
distinct roots, each the square of the previous one, we need $|r| = 0$ or $|r| = 1$. Similarly we need $|r-1| = 0$ or $1$, and
$|r^2-1| = 0$ or $1$. It's not hard to show that the only possible roots are $0$ and $1$.
EDIT: So let $p(x) = a x^m (x-1)^n$.
By considering the leading coefficient of $p(x^2) - p(x)p(x+1)$, we find that $a = 1$. The zero of $p(x^2)$ at $0$ has order $2m$, while the zero of $p(x) p(x+1)$ there
has order $m+n$, so $m = n$.
And finally, we find that $p(x) = x^m (x-1)^m$ does satisfy the equation.
Note that I interpret $f^n(z)$ as $\big(f(z)\big)^n$. However, I can show why this problem is not using $f^n$ to mean $f\circ f\circ \ldots \circ f=f^{[n]}$ (with $n$ occurrences of $f$). I will now find all polynomials $f$ such that
$$f(z^n)=f^{[n]}(z).$$Note that constant polynomials always work.
We now ignore constant $f$. If $d>0$ is the degree of $f$, then $f^{[n]}(z)$ has degree $d^n$ while $f(z^n)$ has degree $dn$. Therefore,
$$d^n=dn.$$
That is, $d^{n-1}=n$. For $n>2$, this is impossible. If $n=2$ and $d=2$, then we are to solve for $f$ such that $$f(z^2)=f\big(f(z)\big).$$ If $a$ is the leading coefficient of $f(z)$, then $a=a^2$ and so $a=1$. That is $f(z)=z^2+bz+c$. Hence,
$$0=f\big(f(z)\big)-f(z^2)=2bz^3+(b^2+2c)z^2+b(b+2c)z+c(b+c).$$
Therefore, $b=c=0$. Thus $f(z)=z^2$ is the only non-constant answer (which may make the problem a bit uninteresting).
For the remaining part, $f^n(z)$ is $\big(f(z)\big)^n$. If $f$ is constant, then show that $f(z)=0$ or $f(z)=\gamma$ where $\gamma$ satisfies $\gamma^{n-1}=1$. Suppose now that $f$ has degree $d\geq 1$.
Let $r$ be an arbitrary root of $f$. Then, for any $n$th root $r_1$ of $r$,
$$0=f(r)=f(r_1^n)=f^n(r_1).$$
So $f(r_1)=0$, or $r_1$ is a root of $f$. By induction, if $r_k$ is an $n^k$th root of $r$, then $r_k$ is also a root of $f$. But if $r\neq 0$, there are $n^k$ distinct choices of $r_k$. Thus, the degree of $f$ is at least $n^k$ for every positive integer $k$. This is absurd. Therefore, the only root of $f$ is $0$. You can finish the rest, and you will find out that
$$f(z)=\gamma z^d$$
where $\gamma^{n-1}=1$. (Since the problem offers richer solutions with the interpretation $f^n(z)=\big(f(z)\big)^n$, I think this is what it is supposed to mean.)
Best Answer
It is easy to see that the only constant solution is $0$. Now suppose that $P(x)$ is not a constant. We remark that, if $P(x)$ is a solution, so is $cP(x)$ for any constant $c$ so we may suppose that the leading term of $P(x)$ is $x^n$ for some $n$. Comparing the leading terms on the two sides we see that $n=4$.
Letting $x=1$ or $x=16$ shows us that $$P(2)=0=P(16)$$ Letting $x=2$ tells us that $P(4)=0$ and letting $x=4$ then tells us that $P(8)=0$. It then follows that the only candidate for a monic quartic solution would be $$P(x)=(x-2)(x-4)(x-8)(x-16)$$
It is now a simple matter to confirm that this polynomial does satisfy the functional equation, so the general solution is $$P(x)=c(x-2)(x-4)(x-8)(x-16)$$ for some constant $c$.