Let $P(x_1, \ldots , x_n)$ be a homogeneous polynomials over a finite field with $q$ elements. Is there any way to count all the roots of $P$?

This is really a comment on Igor Rivin's answer (I don't have enough rep. to comment, it seems), but one has to be attentive to whether or not the polynomial $p$ (not to be confused with the prime $p$...) is absolutely irreducible over the ground field, or at least whether its irreducible factors are absolutely irreducible. In general the answer is influenced by the degrees of the finite extensions of the ground field over which the various "geometric" irreducible factors of $p$ are defined. Lang and Weil would have known how to formulate this, though in modern terms it comes out from how the structure of the topdegree compactly supported etale cohomology is influenced by the "field of definition" (or field of constants in the function fields) of the various irreducible components. 


The magic words are: LangWeil 


This is a big field and improvements are being made all the time. The key phrases to search on are "zeta function" and "hypersurface"  the $\zeta$function of $F=0$ is $\exp(\sum \frac{N_n}{n} t^n )$ where $N_n$ is the number of solutions to $F=0$ over $\mathbb{F}_{p^n}$. I started learning the current approaches from Kedlaya's lecture notes (and consider myself far from fully understanding them). A quick mathscinet search suggests that the state of the art is this paper for smooth $F$. I don't know whether these are at your level or way too hard, but they might give you a sense for the sort of thing people are thinking about. 

