Isn't polynomial identity testing over arithmetic *expressions* trivial?
For a univariate polynomial $p(x)$, yes, it's that easy.

For a multivariate polynomial $p(x_1,x_2,\dots,x_k)$, no, no such algorithm works.

In particular, when you write "a polynomial of degree $d$ has at most $d$ roots", that is true for univariate polynomials $p(x)$, but it is not true in general for multivariate polynomials.  Ricky Demer gives a simple example: $p(x,y) = xy$ is of degree two, but has infinitely many roots.