Trying to understand the use of the "word" pullback/pushforward. Essentially, my question is the following : 
Is everything we call "pullback" or "pushforward" an actual categorical pullback/pushout?
I have seen tons of pullbacks in differential geometry but we didn't care much about functors then. Now I'm doing algebraic geometry and we need presheaves all the time, and if $\mathcal F$ is a presheaf over a topological space $X$ and $f : X \to Y$ a continuous map, we can pushforward $\mathcal F$ to the presheaf $f_* \mathcal{F} \overset{def}= \mathcal F \circ f^{-1}$ where $f^{-1}$ is seen as a functor $f^{-1} : \mathcal T(Y) \to \mathcal T(X)$. To try to see this one as a pullback, I started with the commutative square of the pullback of $Y$ by $f$ over $X$, so I have a square with $f^{-1}(X)$, $X$ on top and two $Y$'s on the bottom. Then I apply the "topology functor" (which maps $X$ to its topology, seen as a category because it is a preorder) and I get another diagram, which is now a pushout ; I add an arrow on top of $\mathcal T(X)$ (which is $\mathcal F$) and I take the pushout of this diagram, which gives me... not much. 
Has anyone ever tried to figure this out, and if yes, what did it give? You can use another example if it helps.
 A: I believe the right context for understanding pullbacks and pushforwards in geometric settings is that of a fibred category.  This is a notion, due to Grothendieck, that formalizes the situation of having some category of geometric spaces, and for each one a category of geometric objects living over it, with pullback functors ($f^*$) and possibly left and right adjoints ($f_!$ and $f_*$).
This captures both the example of vector bundles on topological spaces (or manifolds, schemes), and the example of sheaves on topological spaces (or manifolds, schemes).  However, unlike the first example, the second doesn't really fit into the framework of categorical pullback.  In fact, the categorical pullback only makes sense in settings where one has structure morphisms (e.g. $E \to X$ with $E$ a vector bundle on $X$, or $X \to \mathrm{Spec}(k)$ with $X$ a $k$-scheme).  The case of (pre)sheaves is rather different, and the pullback in this case is best described by the categorical notion of Kan extension (see Yoneda extension on the nLab).
A: The three meanings of pullback come together when you think about how to pull back a vector bundle on a space $Y$ along a map $f : X \to Y$. There are three ways to think about this:


*

*Via a classifying map: if $g : Y \to B \text{GL}_n$ is the classifying map of the vector bundle, then the classifying map of the pullback of the bundle to $X$ is the precomposition $g \circ f$. (This is one way in which people use "pullback.")

*Via its sheaf of sections: this is the pullback in the familiar sheafy sense.

*Via its total space: if $p : E \to Y$ is the bundle map, its pullback to $X$ is the categorical pullback $X \times_Y E$ together with its projection to $X$.


Not everything that gets called a pullback is a categorical pullback, though. In general if you have a category of spaces and some assignment $X \mapsto F(X)$ of a category to each space, if you can also define functors $f^{\ast} : F(Y) \to F(X)$ associated to maps $f : X \to Y$ then you'll probably call them pullbacks, and if you can also define functors $f_{\ast} : F(X) \to F(Y)$ associated to maps $f : X \to Y$ then you'll probably call them pushforwards. The categorical pullback occurs when $F(X)$ is some reasonable subcategory of the category of spaces over $X$, but there are other interesting examples.
