Why don't we use the étale definition of sheaves in Algebraic Geometry I am studying scheme theory, thus I need to learn about sheaves of groups, modules and the basic constructions you do with sheaves: kernels, images, sums, tensor products, base change. Often we only obtain a presheaf so we take the associated sheaf. Then to prove basic results, such as adjointness:
$$\text{Hom}_{\mathcal{O}_X}(f^{\ast}\mathcal{G},\mathcal{F})\simeq
\text{Hom}_{\mathcal{O}_Y}(\mathcal{G},f_{\ast}\mathcal{F})$$
when $f:\, (X,\mathcal{O}_X)\rightarrow(Y,\mathcal{O}_Y)$ is a mophism of ringed spaces, $\mathcal{F}$ a $\mathcal{O}_X$-module and $\mathcal G$ a $\mathcal O_Y$-module.
You need to go by some very awful verification. Nobody actually does the full proof, so students such as myself need to go through it by themselves. I find it very frustrating.
However, when reading Rotman's Introduction to Homological Algebra, I discovered the étale definition of a sheaf. Then I came across Serre's Faisceaux Algébriques Cohérents, and the basic results seemed much easier to prove.
My question is: why don't we adopt more often, the étale definition of sheaves?
Almost every textbook, uses the classic construction with the functor
$$\mathbf{Opn}(X)^{op}\rightarrow\mathcal{C}$$
from the open category of a topological space. My guess is that we are interested in the functorial properties of our constructions.
However, we can prove that the two definitions are canonically the same and we can do everything with one or the other.
I would gladly welcome any insight.
 A: The functorial definition of a sheaf on a site is more general, and hence deserves to be the default definition. It is needed for étale cohomology, for instance.
However, when working sheaves on a space both perspectives work well, depending on what you want to do. 
The étale space definition is useful for when you want to work with the inverse image of a sheaf, since in that setting the inverse image is just the pullback of the étale space. It is also useful when proving that the inverse image along an étale map has a left adjoint. But on the other hand, when it comes to the pushforward of a sheaf, the functorial perspective is much easier to use, because here the pushforward is just precomposition.
A: Let $R$ be a ring, and consider $X = \mathrm{Spec} R$. Let $D_f$ be the open set $f \neq 0$, and let $\mathcal{O}$ be the structure sheaf. Compare

$\mathcal{O}$ is the sheaf defined by $ \mathcal{O}(D_f) \cong R[f^{-1}] $

versus

$\mathcal{O}$ is the sheaf whose underlying set of points is the set of pairs $(\mathfrak{p}, r)$ where $\mathfrak{p}$ is a prime ideal of $R$ and $r \in R_\mathfrak{p}$, given the weakest topology that ...

Bleh, the latter definition is so complicated I can't actually write it down correctly off the top of my head and would have to sit down and fiddle with the details before I could get it right.
The point is, the definition via contravariant functors is much closer to how we actually define things and do calculations. Thus, it makes sense to give definitions along those lines.
The definition via functors also generalizes better — it works for any site, not just for the locales of open sets of topological spaces.
That said, you may be interested to know that Hartshorne does use the latter approach to defining $\mathcal{O}$.
