Find polynomials $P(x)P(x-3) = P(x^2)$ 
Find all polynomials  $P \in \Bbb R[x]$ such that $P(x)P(x-3) = P(x^2) \quad \forall x \in \Bbb R$

I have a solution but I'm not sure about that. Please check it for me.
It is easy to see that $P(x) = 0, P(x) = 1$ satisfied.
Consider $P(x) \neq c$ :
We have $P(x+3)P(x) = P((x+3)^2)$
If $a$ is a root of $P(x) $ then $a^2$ and $(a+3)^2$ are roots of $P(x)$.
If $|a| > 1$, then $ |a^2| = |a||a| > |a| \Rightarrow P(x)$ has infinitely many roots.
If $0 < |a| < 1$, then $|a^2| = |a||a| < |a| \Rightarrow P(x)$ has infinitely many roots.
If $a = 0 \Rightarrow (a+3)^2 = 9$ is a root of $P(x)$, so  $P(x)$ has infinitely many roots.
Hence, every root $a$ of $P(x)$ has $|a| = 1$. So $1 = |(a+3)^2| = (|a+3|^2) \Rightarrow |a+3|=1$.
We have $a + 3 = \cos\alpha + i\sin\alpha + 3 \Rightarrow (\cos\alpha+3)^2 + \sin^2\alpha = 1 \Rightarrow \cos\alpha = -\frac{3}{2}\ (\text{impossible}).$
$P(x) = 0, P(x) = 1$ are all the results.

Your  approach  is sound and the arguments besides  the last case $|a|=1$ are clear. Here  is  a slightly more stringent variant, which does not bring anything new, besides maybe the modified argument for the case $|a|=1$.

We are looking for all polynomials $P\in\mathbb{R}[x]$ such that 
  \begin{align*}
P(x)P(x-3)=P(x^2)\qquad \forall x\in\mathbb{R}\tag{1}
\end{align*}

Proof:

  
*
  
*Constant  Polynomial $P$: At first we look at polynomials $P(x)=c$ which are constant. From (1) we obtain
  \begin{align*}
c^2&=c\\
c(c-1)&=0\tag{2}
\end{align*}
  Since the equation (2) is solved iff  $c=0$ or $c=1$, these are the only solutions when $P$ is a constant polynomial.
  

In the following we consider all possible cases when $P$ has a root $a\in\mathbb{R}$. We divide the cases into
\begin{align*}
|a|>1,\qquad 0<|a|<1,\qquad a=0,\qquad a=-1\quad \text{and} \quad a=1
\end{align*}
which cover all possibilities.

  
*
  
*Root $P(a)=0$ with $|a|>1$:
Let $a\in\mathbb{R}$ with $|a|>1$. We get from (1)
  \begin{align*}
P(a^2)=P(a)P(a-3)=0\cdot P(a-3)=0\tag{3}
\end{align*}
From (3) we conclude that there is an infinite sequence $(a^{2n})_{n\geq 0}$ of pairwise different roots of $P$. Thus, $P$ has infinitely many roots and it follows $P$ is the zero-polynomial: $P=0$.

In the same way we can treat the next case.

  
*
  
*Root $P(a)=0$ with $0<|a|<1$:
Let $a\in\mathbb{R}$ with $0<|a|<1$. We get from (1)
  \begin{align*}
P(a^2)=P(a)P(a-3)=0\cdot P(a-3)=0\tag{4}
\end{align*}
From (4) we conclude as we did in the case before that there is an infinite sequence $(a^{2n})_{n\geq 0}$ of pairwise different roots of $P$. Thus, $P$ has infinitely many roots and it follows $P$ is the zero-polynomial: $P=0$.

Three more cases to follow:

  
*
  
*Root $a=0$:
Let $a=0$ with $P(0)=0$. We get from (1) setting $x=3$
\begin{align*}
P(9)=P(3)P(0)=P(3)\cdot 0=0
\end{align*}
We see that $9$ is also a root of $P$. We are now in the case with root $|a|>1$ and conclude $P=0$.
  
  
*
  
*Root $a=-1$:
Let $a=-1$ with $P(-1)=0$. We get from (1) setting $x=2$
\begin{align*}
P(4)=P(2)P(-1)=P(2)\cdot 0=0
\end{align*}
We see that $4$ is also a root of $P$. We are now in the case with root $|a|>1$ and conclude $P=0$.
  
  
*
  
*Root $a=1$:
Let $a=1$ with $P(1)=0$. We get from (1) setting $x=4$
\begin{align*}
P(16)=P(4)P(1)=P(4)\cdot 0=0
\end{align*}
We see that $16$ is also a root of $P$. We are now in the case with root $|a|>1$ and conclude $P=0$.

Conclusion: We have covered all types of different polynomials which fulfill the relationship (1) and conclude that $\color{blue}{P=0}$ and $\color{blue}{P=1}$ are the only solutions of (1).$\qquad\qquad\qquad\Box$
Note: When making rigorous proofs we should avoid phrases like: It is clear that ..., It is easy to see that .... It is much more preferable  to prove even seemingly simple things, just to be sure that we don't overlook anything.
