Perhaps some unease may arise because there
I think a part of the problem is that the word "pullback" has two distinct meanings, which nevertheless are several concepts and issues involved:
I) Pullback whose opposite is pushout, rather than pushforward. This goes under the heading direct/inverse limits in (usual) abstract) categories.
II) "Pullback" whose opposite is "pushforward". As mentioned by David Roberts and David Carchedi, category theory knows these under the guise of Grothendieck fibrations and opfibrations, but, as I understand, does not specify how to construct them. This seems to be another part of the problem.
My feeling is that there exist at least two rather general constructions.
1) Initial/final structures (as in Bourbaki). For instance, quotient topology and subset topology. When initial/final structures exist, they are constructed explicitly (see for instance 10.43 in The Joy of Cats), though not necessarily effectively. There is a whole philosophy/machinery about such thingsaround this: concrete categories.See
2) The Joy of Cats. I guess this strongly relatesto Grothendieck fibrations and opfibrations mentioned by David Roberts following three examples (one covariant and David Carchedi.
3two contravariant) Constructions of "pullback" look related, and"pushforward". I don't know what category theory thinks about this relation.
a) The inverse image of a sheaf is a kind of pullback (in the sense of (1)), I)), and the direct image of a sheaf is given by composition (no pushouts involved!)
binvolved, by the way).
b,c) Pushforward of Induced maps and transfers in homology and cohomologyclasses is a bit more tricky. The standard algebraic view is that the pullback "pullback" (i.e. the induced map) $f^*$ is just the homology functor $h(f)$ applied to the map (i.e. something to be explained by axioms); and pushforward "pushforward" is something fancy involving integration or Poincare duality (i.e. something better not to be explained at all). Similarly (but vice versa) for homology.
There is also a secret geometric viewis that pullback , which common textbooks never reveal. Here "pullback" in both homology and cohomology is given by the category theoretic pullback ((1) (I) above) whereas pushforward "pushforward" in both homology and cohomology is given by composition(of a very different kind from that for direct image of a sheaf!). Pullback "Pullback" in homology and pushforward in cohomology are defined only for a restricted class of maps (namely those maps that themselves represent cohomology classes). Still, they are just as natural as induced maps, but with respect to a different set of data; so when it comes to composing a pullback "pullback" with a pushforward "pushforward" (which amounts to a cup or cap-product), transversality has to be applied, which breaks geometric naturality. (With a hint at Steenrod squares. Of course, nothing ever breaks naturality on the algebraic level.) An elementary introduction warm-up with pictures is in Chapter 1 of Fenn's Techniques of Geometric Topology; , and another elementary (but partial) introduction warm-up is in Kreck's recent book; but to see the above picture clearly it is best to read B-R-S.