The push-pull formula appears in several different incarnations. There are, at least, the following:


1) If $f \colon X \to Y$ is a continous map, then for sheaves $\mathcal{F}$ on $X$ and $\mathcal{G}$ on $Y$ we have $f\_{\*} (\mathcal{F} \otimes f^{\*} \mathcal{G}) \cong f\_{\*} (\mathcal{F}) \otimes \mathcal{G}$.


A similar formula holds for the derived functors and for $f^{!}$.


2) If $f \colon X \to Y$ is a proper map of schemes, with $Y$ smooth, both $f^{\*}$ and $f\_{\*}$ are defined on the Chow groups, and $f\_{\*}(\alpha \cdot f^{\*} \beta) = f\_{\*} \alpha \cdot \beta$ for classes $\alpha \in CH^{\*}(X)$ and $\beta \in CH^{\*}(X)$.


Of course a similar results holds in cohomology if $f$ is a proper map of smooth manifolds, using Gysyn map for push-forward.


3) If $H < G$ are finite groups, we have two functors $\mathop{Ind}\_{H}^{G}$ and $\mathop{Res}\_{H}^{G}$, which can be seen as pull-back and push-forward maps between the representations rings $R(G)$ and $R(H)$. Again we have $\mathop{Ind}(U \otimes \mathop{Res} V) \cong \mathop{Ind} U \otimes V$.


Edit: one more example appears in the book linked in Peter's answer. It is a bit complicated to state, but basically (if I understand well)


4) for a compactly generated topological group $G$ and for $G$-spaces $A$ and $B$ one considers the category $G \mathcal{K}\_A$ of $G$-spaces over $A$ with equivariant maps (up to homotopy). Then for a $G$-map $f \colon A \to B$ one has functors $f^{\*} \colon G\mathcal{K}\_B \to G\mathcal{K}\_A$ and $f\_{!} \colon G\mathcal{K}\_A \to G\mathcal{K}\_B$ satisfying $f\_{!}(f^{\*}Y \wedge\_A X) \cong Y \wedge\_B f\_{!} X$.


There are probably several other variations which now I fail to recall. I should mention that in some situations 2) can be obtained by 1), but not always, as far as I know.



> 
> Is there a unifying principle (even informal) which explains why in these diverse settings we should always have the same formula?
> 
> 
> 



Ubiquity of the push-pull formula
[This paper](http://www.math.uiuc.edu/K-theory/0573/) by Fausk, Hu and May does not exactly tell you why those maps should be isomorphisms in more concrete situations, but it cleanly explains the abstract settings in which they arise - look e.g. at Propositions 2.4 and 2.8 for equivalent formulations of projection formulas.


For an example of a projection formula that is not on the list in your question see equation 2.2.5 in [this book](http://www.math.uiuc.edu/K-theory/0716/) by May and Sigurdsson - it is an example for the abstract "Wirthmüller context" from the paper above, which, I think, inspired the authors to do the abstract analysis in the first place.


