The wikipedia article claims that the theorem "was first proved by G. C. Shephard and J. A. Todd (1954) who gave a casebycase proof. Claude Chevalley (1955) soon afterwards gave a uniform proof". I read the paper by Chevalley and it seems that he only proves the implication: "If the group is generated by pseudoreflections, then the ring of invariants is polynomial". I wonder whether there is a uniform proof of the inverse implication? Where is it written?
There are indeed many presentations (if I remember correctly Bourbaki has it) but the proof is very elegant and short so that I find it hard to refrain from giving it. Let $H$ be the normal subgroup of the finite $G\subset \mathrm{GL}_n$ generated by the pseudoreflections. By the other direction $X:=\mathbb{A}^n/H$ is again affine space and in particular is smooth. We have an action of $G/H$ on $X$ and a moment's thought reveals that it acts freely in codimension $1$ (as a point fixed by a nonidentity element would lie below a reflection hyperplane of $\mathbb{A}^n$ and the fixing element below a pseudoreflection). Hence $X \to X/(G/H)=\mathbb{A}^n/G$ is étale in codimension $1$. If $\mathbb{A}^n/G$ were smooth, purity of the branch locus would imply that the map were étale. However, that forces $G/H$ to act freely on $X$ but the image of the origin is fixed by all of $G/H$ and therefore $G=H$.

1Now I wonder whether there is such a nice geometric proof of the other direction? – Roman Fedorov Jul 19 '10 at 10:02

This study of invariants of finite groups by Hilbert, Noether, and others had geometric origins: finite group actions on affine space and resulting quotients. It's useful to think geometrically, but the algebraic methods can be more flexible for dealing with arbitrary fields of characteristic 0 and sometimes other fields. Results involve more than whether rings of invarfiants are polynomial: find efficient finite generating sets, compare degrees of generators with orders of finite groups, describe module of coinvariants. – Jim Humphreys Jul 19 '10 at 11:00

Actually, I realized I don't understand why a hypersurface cannot be fixed. What does it mean "to lie below"? How does not the fact that the central symmetry (x,y)>(x,y) fixes the circle x^2+y^2=1 contradict it? – Roman Fedorov Jul 21 '10 at 9:09

I phrased things clumsily, it is a question of hypersurfaces fixed pointwise. I changed formulation to make it clearer. – Torsten Ekedahl Jul 21 '10 at 22:05
Torsten's argument is of course beautiful, but it might be worth recording that there is also a slick combinatorial argument, in case you need to teach this to students without algebraic geometry. (After rereading, it looks like Josh Swanson is linking to the same argument, so upvote his answer if you like this.) Let $G$ be any finite subgroup of $GL(V)$ for $V$ a vector space of characteristic $0$; let $R = \mathrm{Sym}(V)$ and $S = R^G$.
For any finite dimensional vector space $U$ with an action of $G$, we have $$\dim U^G = \frac{1}{G} \mathrm{Tr}(g: U \to U).$$ So, working degree by degree, $$\sum_{k=0}^{\infty} \dim S_k t^k = \frac{1}{G} \sum_{g\in G} \sum_{k=0}^{\infty} t^k Tr(g: Sym^k V \to Sym^k V).$$ If the eigenvalues of $g$ on $U$ are $\lambda_1(g)$, ..., $\lambda_n(g)$, we deduce $$\sum_{k=0}^{\infty} \dim S_k t^k= \frac{1}{G} \sum_{g\in G} \prod_{j=1}^n \frac{1}{1\lambda_j(g) t} \quad (\ast). $$ This is called Molien's formula.
In particular, if $S$ is a polynomial ring with generators in degrees $e_1$, ..., $e_n$, then $$\prod_{i=1}^n \frac{1}{1t^{e_i}} = \frac{1}{G} \sum_{g\in G} \prod_{j=1}^n \frac{1}{1\lambda_j(g) t} \quad (\dagger).$$ Let $T$ be the set of pseudoreflections. Expanding both sides in Laurent series around $t=1$, we have $$\prod_{i=1}^n \left( \frac{1}{e_i (1t)} + \frac{e_i1}{2 e_i} + O(1t) \right)$$ $$= \frac{1}{G} \left( \frac{1}{(1t)^n} + \sum_{g \in T} \frac{1}{(1t)^{n1} (1\lambda_n(g))} + O((1t)^{n+2}) \right)$$ where $\lambda_n(g)$, for $g \in t$ is taken to be the eigenvalue which is not $1$. Grouping together elements of $T$ which generate the same subgroup and matching coefficients, one concludes: $$G = \prod e_i \ \mbox{and}\ T = \sum (e_i1). \quad (\S)$$
As in Torsten's proof, let $H$ be the subgroup of $G$ generated by $T$. By the reverse direction of CST, $R^H$ is a polynomial ring, say with generators in degrees $d_1$, ... $d_n$. Since the first generator of $R^G$ must involve at least one generator of $R^H$, the first two generators of $R^G$ must involve at least two generators of $R^H$ etc we see that, after reordering $d_1 \leq d_2 \leq \cdots \leq d_n$ and $e_1 \leq e_2 \leq \cdots \leq e_n$, we have $e_i \geq d_i$.
But $\sum (e_i 1) = \sum (d_i1) = T$. So $e_i = d_i$. Then $G = \prod e_i = \prod d_i = H$, so $G=H$.
Old post, but ShephardTodd's original proof of the "inverse" implication was essentially uniform (and brief) to begin withsee section 8 of their Finite Unitary Reflection Groups. The main tools are Molien's theorem, the "direct" implication, and the Jacobian. (Technically their proof of the direct implication was casebycase, but plugging in, say, Chevalley's proof makes their proof of the inverse case uniform.)
The same argument with the window dressings changed appears in Stanley's nice old survey Invariants of Finite Groups and their Applications to Combinatorics (1979), section 4. It's also in Humphreys' Reflection Groups and Coxeter Groups, section 3.11.
Chevalley was interested in the action of (real) Weyl groups and so a reflection to him had determinant 1 and so was a real reflection, i.e. order 2. My understanding is that Serre had seen the paper by Shepard and Todd and so he knew that pseudoreflections were relevant. He pointed out that Chevalley's proof was valid for pseudoreflections.
$\mathbb{C}$
, leaving aside the more delicate question of what remains true over more general fields mentioned here by Victor Protsak. This book treats ShephardTodd theory and later developments in good detail. – Jim Humphreys Jul 19 '10 at 10:41