Find all polynomials $p(x)$ such that: $xp(x-1) = (x-30)p(x)$
Your approach is almost correct. You are at half way.
You got $P(0)=P(29)=0$. Now consider, $P(1)$. From $$x\cdot P(x-1)=(x-30)P(x),$$ we have when $x=1$, $$1\cdot P(0)=(-29)P(1).$$ $$\implies P(1)=0.$$ Similarly, considering $x=2, 3, \ldots, 29$, you will get $P(2)=P(3)=\cdots=P(29)=0$. Hence your result follows.
Even your short answer is missing something -- you should multiply by an unknown constant because knowing the roots tells you nothing about the vertical scale of the polynomial.
The correct version of the argument you are attempting is this...
What happens when $x = 1$? Then $p(0) = -29 p(1)$. Since $p(0) = 0$, we have $p(1) = 0$.
We just got $p(1)$ on the right. To get $p(1)$ on the left, set $x = 2$. Then $2 p(1) = -28 p(2)$. Since $p(1) = 0$, we have $p(2) = 0$.
Repeating with $x = 3$, $4p(2) = 27 p(3)$ and so $p(3) = 0$.
...
Continuing, you eventually show all of $0$, $1$, ..., $29$ are roots. As in the first paragraph, you need a constant multiple since you have no way to get another value of the polynomial.
That seems to give you the answer you recite, but there is more to show. How do we know there aren't more roots? Suppose there were; for example, let $$ p(x) = a x(x-1)(x-2)\cdots (x-29) \cdot (x-100) \text{.} $$ Then the equation you start with forces $101$ is a root, which forces $102$ is a root, which forces ..., producing infinitely many roots. If you work through the details, you can show that the presence of any root other than those listed in the recited answer forces infinitely many more roots. Since no polynomial has infinitely many roots, there are no roots other than those in the recited answer.
So that only leaves repetitions of the $30$ roots we know about. Set $$ p(x) = a \prod_{k=0}^{29} (x-k)^{q_k} \text{.} $$
In $x p(x-1)$, the factors $(x-30)$ and $x$ appear with multiplicities $q_{29}$ and $1$, respectively. In $(x-30)p(x)$, with multiplicities $1$ and $q_0$, respectively. So $q_{29} = 1 = q_0$. Applying these henceforth, ...
In $x p(x-1)$, the factors $(x-29)$ and $x-1$ appear with multiplicities $q_{28}$ and $1$, respectively. In $(x-30)p(x)$, with multiplicities $1$ and $q_1$, respectively. So $q_{28} = 1 = q_1$. Applying these henceforth, ...
...
Continuing, we show all the $q_{k} = 1$, so all the roots have multiplicity one.