Why is Riemann-Roch an Index Problem?
Here is a sketch of the argument as I learned it in a complex analysis class: For a Riemann surface $X$ and a holomorphic line bundle $L$, we want $$\text{dim}H^0(X,L)-\text{dim}H^0(X,L\otimes\Lambda^{0,1})=c_1(L)+\frac{1}{2}\chi(X)$$ You have an operator $\overline{\partial}$ (differentiation with respect to $d\overline{z}$ taking $\Gamma(X,L)$ to $\Gamma(X,L\otimes\Lambda^{0,1})$. Then $H^0(X,L)$ is the kernel of $\overline{\partial}$ and $H^0(X,L\otimes\Lambda^{0,1})$ is the kernel of its adjoint, $\overline{\partial}^+$. Now define $\Delta^+=\overline{\partial}\overline{\partial}^+$ and $\Delta^-=\overline{\partial}^+\overline{\partial}$. Their spectra are the same, except for the kernels, and we get $$\text{Tr}(e^{-t\Delta^+})-\text{Tr}(e^{-t\Delta^-})=\text{dim}(\text{ker}\Delta^+)-\text{dim}(\text{ker}\Delta^-)$$ We also have that the kernel of $\overline{\partial}$ is the kernel of $\Delta^-$, and the kernel of $\overline{\partial}^+$ is the kernel of $\Delta^+$, so it's enough to get your hands on the left-hand side. Then you write those traces as integrals of heat kernels, take the limit as $t\rightarrow 0^+$, and show that the integrals go to $c_1(L)+\frac{1}{2}\chi(X)$. And that's possible because we can interpret Chern classes and Euler characteristics of Riemann surfaces as integrals of curvatures of line bundles. Of course, then there's more work to turn $c_1(L)+\frac{1}{2}\chi(X)$ into it's more familiar form.
This is discussed in detail in chapter IV of the RRT notes on my web page (roy smith at math dept, university of georgia). Briefly, the index point of view is a valuable simplification, but the Riemann Roch theorem is more than an index statement in general. Moreover the content of the index statement depends on the definition of the "index". In the answer by Spinorbundle above, the analytic index is defined in such a way that stating it as he does gives a complete statement of the RRT theorem, i.e. his definition of the index includes the statement of Serre duality as well, which in the case of curves also implies Kodaira vanishing.
Usually an index of a linear operator is the difference between the kernel and cokernel of that operator. In Riemann's original formulation of his theorem, that operator is a matrix of periods of integrals, and the RR problem is that of computing just its kernel. In the sheaf theoretic version of his approach, the index of the relevant operator associated to a divisor $D$ is the difference $\chi(D) = h^0(D) - h^1(D)$. An easy long exact sheaf cohomology sequence implies immediately that $\chi(D) - \chi(O) = \deg(D)$.
Then if one simply defines the genus to be $1-\chi(\mathcal{O})$ as is sometimes done, the result is the formula $\chi(D) = 1-g + \deg(D)$, a sort of "computation" of the index $\chi(D)$, sometimes called the Riemann Roch theorem. This however is not very useful unless one can also compute $g$, i.e. $\chi(\mathcal{O})$. The real RR theorem should thus relate $\chi(\mathcal{O})$ to some more illuminating definition of the genus, such as $h^0(K)$ or the topological genus, i.e. the very weak formula in this paragraph does not reveal that the index $\chi(D)$ is a topological invariant. Finally conditions should be given when $\chi(D) = h^0(D)$, the actual Riemann Roch number.
In dimension one, defining the index as Spinorbundle does, and computing it, does solve all these problems at once. But that computation is correspondingly more difficult. In higher dimensions even that computation does not give a criterion for the index to equal the Riemann Roch number.
When the index $\chi(L)$ is defined as the alternating sum of the dimensions of sheaf cohomology groups of a line bundle $L$, as is more common in algebraic geometry, there are then several steps to the full RR theorem:
1) compute $\chi(L) - \chi(\mathcal{O})$, the difference of the indices of $L$ and of $\mathcal{O}$, as a topological invariant. This is the relatively easy part, by sheaf theory.
2) compute $\chi(\mathcal{O})$, also a topological invariant. This is sometimes called the Noether formula (at least for surfaces). One then has a topological formula for the index $\chi(L)$.
3) relate $\chi(L)$ to $h^0(L)$, and perhaps $h^0(K-L)$. This involves the vanishing criteria of Serre and Kodaira and Mumford, and duality. This is the hardest part.
Moral: computing the index $\chi(L)$ is topological, hence relatively easy. Then one tries to go from $\chi(L)$ to $h^0(L)$, using the deep results of Serre duality and Kodaira vanishing. Saying the RRT is (just) an index problem is like saying you can compute the number of vertices of a polyhedron just from knowing its Euler characteristic. But I confess to pretending otherwise at times. Indeed one of my t - shirts reads "Will explain Riemann Roch for gianduia: $\chi(D)-\chi(O) = \deg(D)$, and $\chi(O) = 1-g$", which is merely the index statement.
In the RRT notes on my webpage, pp.37-42 there is an easy proof of steps 1 and 2, for curves, inspired by the introduction to one of Fulton's papers. Basically, once you have identified a topological invariant, you can compute it by degeneration to a simpler case. These notes also discuss Riemann's original proof, as well as generalizations of the index point of view to the case of surfaces, and a little about the Hirzebruch RR theorem in higher dimensions. Serre's proof of the duality theorem is also sketched. Briefly Serre lumps all the relevant cohomology spaces for all divisors $D$ together into two infinite dimensional complex vector spaces, which he then shows are both one dimensional over the larger field of rational functions. It is then easier to prove they are isomorphic over that field, by showing the natural map between them is non zero, hence all their individual components are isomorphic over the complex numbers.
Here is a self contained answer to why Riemann's original theorem as he proved it, before Roch's refinement, is indeed an index statement.
Traditionally, the “index” of a linear operator is the difference between the dimensions of its kernel and cokernel. Computing this difference is usually easier than computing either the kernel or cokernel dimensions alone, hence it is a helpful first step even where one of those dimensions is really wanted. Moreover the index gives an estimate of the kernel dimension. Riemann’s proof of his theorem was to calculate such an index as follows.
Given a divisor $D$ of $r$ distinct points on a compact complex Riemann surface $X$ of genus g, he constructed a basis of the $g+r$ dimensional space $W \cong \mathbb{C}^{r+g}$ of corresponding differentials of “second kind”, i.e. having at worst principal part $\operatorname{const}.dz/(z-p)^2$ at each point $p$. Since the space $L(D)$ of meromorphic functions with at worst simple poles at these points maps with one dimensional kernel into the space $W$, in order to compute the dimension of $L(D)$ it suffices to compute the subspace of exact differentials in $W$, i.e. the kernel of the “period map”, obtained by integrating these differentials over a basis for the 1st homology of $X$.
Thus he wants to compute the kernel of a linear map from $\mathbb{C}^{r+g}$ to $\mathbb{C}^{2g}$. It follows immediately from the rank/nullity theorem that the index of this period map is $(r+g)-2g = r-g = \deg(D)-g$. Hence this is a lower bound for the kernel, so $\dim L(D) – 1 \geq r-g$, i.e. $\dim L(D) \geq \deg(D) + 1-g$.
This also implies the modern index form of the theorem as follows. Riemann knew the period map is injective on holomorphic differentials, so he could, and Roch did, replace it by a normalized period map from $\mathbb{C}^r$ to $\mathbb{C}^g \cong H^1(X;\mathbb{C})/H^1(X; K) \cong H^1(X;\mathcal{O})$. The cokernel of this map is now called $H^1(X;D)$, so Riemann’s theorem can be phrased $\chi(D) = h^0(D)-h^1(D) = \deg(D) + 1-g$. Since it takes some work to compute $\chi(\mathcal{O}) = h^0(\mathcal{O})-h^1(\mathcal{O})$ as $1-g$, this is actually stronger than the modern sheaf theoretic result that $\chi(D) – \chi(\mathcal{O}) = \deg(D)$, which follows immediately from the sheaf sequence $0 \to \mathcal{O} \to \mathcal{O}(D) \to \mathcal{O}(D)|_D \to 0$.
Of course Riemann’s result should be stronger since it contains in addition to the trivial sheaf theoretic linear algebra, also the computation of both the holomorphic genus $= h^0(X; K)$, and the topological genus $= (1/2)h^0(X; \mathbb{C})$. Thus Riemann’s theorem combines the two modern results: $\chi(D) -\chi(\mathcal{O}) = \deg(D)$, and $\chi(\mathcal{O}) = 1-g$.
Roch’s refinement of the RRT is to compute the cokernel $h^1(X;D)$ of Riemann’s period map, which he does of course by making a residue calculation. He obtains that $h^1(X;D) = h^0(X;K(-D))$, hence $h^0(D)-h^0(K(-D)) = \deg(D)+1-g$, the full RRT.