Thank you lavinia for this nice clear description. As a contrast, if one tries to learn SW classes from Milnor Stasheff, see p. 38, axiom 4, then the fact that the SW class of the mobius bundle is one, is an axiom, thus giving no insight at all as to its meaning.
The euler class also is a nice example. As you say, the basic principle is that the zero loci of any two non trivial sections of a line bundle (presumably also of any bundle of rank ≤ dimension of base manifold), are always homologous, hence the homology class of any section has a dual class, the euler class of the bundle. Then by definition, the vanishing of this class is an obstruction to the existence of a never zero section. Thus if we want to use that class to tell us whether such a section exists, we need some other way to calculate the class other than first finding a section.
For a compact connected riemann surface, the fundamental fact is that every non constant meromorphic function has a divisor of "degree zero", i.e. every meromorphic function has the same number of zeroes and poles. This follows from the fact that such a function defines a holomorphic map to the riemann sphere, and by degree theory, the same number of points map to the north pole as to the south pole, so their difference, the degree of the divisor of the meromorphic function, is zero.
Then one notes that given two non trivial meromorphic sections of any line bundle, their quotient is a meromorphic function, hence the two sections have (if holomorphic) the same number of zeroes, and even if meromorphic, their divisors have the same degree. Hence every non trivial section of a holomorphic line bundle has the same degree as any other. This degree then is the (1st) chern class of the line bundle. For riemann surfaces, even if the degree of a line bundle is non zero, it is not obvious that a meromorphic section exists, indeed this is a fundamental existence theorem. But if two sections exist, they have the same degree.
There is another definition of chern class in this case that does not assume the existence of a section, stemming from the exponential sequence: 0-->Z-->O-->O*-->1, the right hand map is exponentiation of a holomorphic function, times 2πi, so the kernel is the integers. The associated long exact equence of cohomology has the segment H^1(O*)-->H^2(Z). Since one can show that every holomorphic line bundle defines , by taking its transition functions, a 1st cech cohomology class with coefficients in O* (never vanishing holomorphic functions), the image of that class via the coboundary map in H^2(Z) is another definition of the 1st chern class of the line bundle.
Another approach I like to characteristic classes uses the classifying space concept, i.e. the grassmannian. First one computes the cohomology of a "grassmannian", i.e. of the space of all linear subspaces of a fixed dimension in a given euclidean space. Then one observes there are certain standard cohomology classes defined for a grassmannian. Now if one can only map ones own manifold into a grassmannian in a natural way, then one can pull those classes back to ones own manifold, and call the pulled back classes the characteristic classes of ones manifold. How to do that?
First embed your compact smooth manifold into Euclidean space, whence there is an induced map of each tangent space to your manifold linearly into Euclidean space. Thus if your manifold had dimension n and the ambient euclidean space had dimension r, we have defined a map of our manifold into the grassmannian of n planes in r space. Now the interesting part is that if we let r go to infinity, and use all possible embeddings of our manifold into these euclidean spaces, apparently the results stabilize. I.e. for large r, the maps to the grassmannian given by any two embeddings are homotopic, and the resulting pull back classes are independent of r!
I first read this stuff in some mimeographed notes on differential topology by Milnor that were handed around in the 60's, and that presumably were codified in the Milnor Stasheff book, but I am not sure.
Yes this discussion is on pages 60-70 of Milnor - Stasheff, where he observes that it is a generalization of the Gauss map from a surface in R^3 to the unit sphere. In fact it appears that the datum of an n plane bundle, up to isomorphism, is equivalent to the datum of a map to an infinite grassmannian, up to homotopy, (Remark, p.70).
I realize now, that in the case of riemann surfaces, all this is just the familiar practice of using a line bundle to define a holomorphic map of the riemann surface to projective space, which is the grassmannian for line bundles, and then the 1st chern class of the line bundle is just the intersection number of the embedded riemann surface, with a hyperplane, the homology class dual to the 1st chern class of projective space. Of course in this setting, not all line bundles define holomorphic embeddings, so there is more detail to worry about. E.g. sometimes there are divisors of form M+B where M is the moving part and B is the fixed part ("base divisor"), and in these cases it can happen that the resulting map to projective space loses the fixed B part, so the intersection number with a hyperplane only measures the chern class of the M part. E.g. suppose we take a plane cubic curve C with a double point p. Then the pencil of all lines through p will define a pencil of divisors on C of degree 3, but all of them contain the point p, the fixed part. The resulting map of C to projective space is the projection along these lines from the cubic to P^1, which gives a map of degree 2, not 3. I.e. the map only recovers the family of the pairs of moving points cut by a line through p, not p itself. (In this case "intersection with a hyperplane" means the pull - back of one point of P^1.)
So in Riemann surface theory there is a whole subject studying which line bundles define holomorphic embeddings into projective space. It follows from Riemann Roch theorem (RRT) that if the genus of the riemann surface is g, then any line bundle of degree more than 2g works I believe. Indeed the RRT is a formula helping compute the number of linearly independent holomorphic sections of a line bundle just from knowing the degree of the bundle, i.e. the number of zeroes of a section. In particular, if the degree d is more than 2g-2, then there are always exactly (1-g + d) independent holomorphic sections. If the degree is ≤ 2g-2, then there could be some holomorphic differentials vanishing on the divisor, and if there are exactly i independent such differentials, then this adds sections to the bundle and there are then exactly (1-g+d+i) independent holomorphic sections. And as remarked above, if d > 2g, then the holomorphic sections suffice to embed the riemann surface in projective space of dimension (d-g).
For a "non hyperelliptic" riemann surface (one that does not possesses a map to P^1 of degree 2), one can do better, and one can embed it in P^(g-1), using the "canonical line bundle", the bundle of degree 2g-2 of holomorphic one forms dual to the tangent bundle, (for which i=1, by definition).
To illustrate further the difference between smooth and holomorphic properties of line bundles on riemann surfaces, I note that the smooth homeomorphism class of a complex line bundle on a compact (connected) riemann surface is completely determined by its degree, i.e. its 1st chern class, (because the sheaf of smooth sections of a line bundle is a "fine" sheaf, i.e. admits partitions of unity), whereas for holomorphic line bundles, for each degree, there is a compact manifold (a torus) of dimension g parametrizing the holomorphic isomorphism classes of that degree. By the Riemann Roch theorem however, even in the holomorphic case, at least for large degree d, the number of independent holomorphic sections is determined by the chern class, i.e. the topology.
The generalized Riemann Roch theorem says that at least the holomorphic euler characteristic, i.e. the alternating sum of the dimensions of the holomorphic cohomology groups, is a topological invariant. In the classical case this holomorphic euler characteristic is the alternating sum: (# sections) - i, which equals the topological invariant 1-g+d. Whenever one can prove "vanishing" i.e. that higher dimensional groups are all zero, one deduces a formula for the number of sections just from the topological computation of the euler characteristic. So in some sense, major results in algebraic geometry consist of deciding when one gets holomorphic information just via topology.
It was this that first drew me into the subject of riemann surfaces, or algebraic geometry, the fact that there is a level of complexity that is not immediately visible to the naked eye, i.e. to topology, but where topology is useful, in fact essential. To someone who found topology appealing and fairly natural, this added mystery was intriguing. I suppose number theory is then a further refinement of algebraic geometry, so just as algebraic geometers need and use topology, so do number theorists depend on algebraic geometry, and extend its reach, by exploring which subfields of the complex numbers may already contain solution sets to their equations.