I've just started learning about sheaves and yesterday I had a look at MacLane/Moerdijk's book "Sheaves in Geometry and Logic". I've discovered something in this book on which I'd like some clarification.
Suppose $f:X\rightarrow Y$ is a continuous map of topological spaces and $\mathcal{F}$ is a sheaf (of sets for simplicity) on $X$. Denote the category of sheaves on $X$ by $\operatorname{Sh} (X)$. We can obtain a sheaf on $Y$ as follows; if $U\subseteq Y$ is open, define $f_{*} \mathcal{F} (U) = \mathcal{F} (f^{-1} (U))$. Clearly this is a functor $\bar{f}_{*} : \operatorname{Sh} (X) \rightarrow \operatorname{Sh} (Y)$ taking each sheaf to its direct image under $f$ and each $X$-sheaf morphism to a $Y$-sheaf morphism which commutes with the direct image.
Using this, we can actually produce a much more general functor into a huge category - the category of all categories of sheaves on (small) topological spaces; define $\operatorname{SH} (-) : \bf{Top_{small}}\rightarrow \bf{Sheaves}$ to be this functor, taking each small topological space $X$ to its category of sheaves $\operatorname{Sh} (X)$ and each continuous map $f:X\rightarrow Y$ to the direct image functor $\bar{f}_{*} : \operatorname{Sh} (X)\rightarrow \operatorname{Sh} (Y)$ defined above.
Have I interpreted this correctly? And if so is there any real/interesting usage (in algebraic geometry/category theory or other areas) of this functor $\operatorname{SH} (-)$ or this category $\bf{Sheaves}$ of all sheaves over topological spaces?
Yes, your interpretation is correct, but you better be careful about the size of your categories.
Say you work with a universe $\mathbb U$, and you call small the elements of $\mathbb U$. Then, on one hand, the category of small topological spaces is a locally small category (meaning that the hom-sets are small). On the other hand, $\mathbf{Sheaves}$ is not locally small : indeed, for a small topological space $X$, the category $\operatorname{Sh}(X)$ isn't small (only locally small) ; so for small topological spaces $X$ and $Y$, the set of functors $\operatorname{Sh}(X) \to \operatorname{Sh}(Y)$ has no reason to be small.
So you end up with a jump of universe. Namely, there exists a universe $\mathbb V$ such that $\mathbb U \in \mathbb V$ making $\mathbf{Sheaves}$ a locally $\mathbb V$-small category. So your functor $\operatorname{SH}(-)$ is going from the locally $\mathbb U$-small category $\mathbf{Top_{small}}$ to the category the locally $\mathbb V$-small category $\mathbf{Sheaves}$. As any $\mathbb U$-small set is also $\mathbb V$-small, this is not a problem and $\operatorname{SH}(-)$ could be regarded as a functor between locally $\mathbb V$-small categories.
(Quick remark : one would usually think of $\operatorname{SH}(-)$ as a functor valued in the category $\mathsf{CAT}$ of all $\mathbb V$-small categories, or in the category of $\mathbb V$-small (elementary) toposes.)