Chararcteristic classes are in an essential way phenomena of cohomology theory - they are contravariant constructions, in the way that a section is a kind of function on a space, and to lead to a contradiction from the existence of a section we do need that variance. In fact cohomology theory grew up after homology and homotopy theory, which are both covariant theories based on mapping into a space; and characteristic class theory in its infancy in the 1930s (as part of obstruction theory) was one major reason why a 'dual' theory to homology was sought. The characteristic class approach to curvature invariants was a particular reason to make a theory, to prove a general Gauss-Bonnet theorem.
When the theory was put on an organised basis around 1950 (with the definitions reduced to homotopy theory) it became clear that the most fundamental characteristic classes known at that time (the Stiefel-Whitney class, the Chern class, and the Pontryagin classes) were reflections of the classical linear groups and their maximal torus structure. What is more, the Chern class itself was not so new, having been reflected in the Schubert calculus on Grassmannians, and the work of the Italian school of algebraic geometry. On the other hand there was now a framework which produced families of classes, whenever there was a vector bundle involved.
The prime mechanism then appeared to be this: given a space X carrying a vector bundle, that implied in the homotopy category a mapping from X to a classifying space BG, for the relevant linear group G. For the homotopy theory the relevant information is carried by compact subgroups such as the orthogonal groups and unitary groups as G. Once the cohomology H*(BG) was calculated, once and for all, the contravariance property of cohomology meant that characteristic classes for the bundle would be defined in H*(X) in the same dimensions. For example the Chern class is really one class with graded components in each even dimension. This is still the classic explanation, though in a given geometric theory it is profitable to take extra structure into account. When cohomology became 'extra-ordinary' with the arrival of K-theory and cobordism theory from 1955 onwards, it was really only necessary to change the letter H everywhere to say what the characteristic classes were.
Characteristic classes were later found for foliations of manifolds; they have (in a modified sense, for foliations with some allowed singularities) a classifying space theory in homotopy theory.
In later work after the rapprochement of mathematics and physics, new characteristic classes were found by Simon Donaldson and Dieter Kotschick in the instanton theory. The work and point of view of Chern have also proved important: see Chern-Simons theory.