What are the benefits of viewing a sheaf from the "espace étalé" perspective? I learned the definition of a sheaf from Hartshorne—that is, as a (co-)functor from the category of open sets of a topological space (with morphisms given by inclusions) to, say, the category of sets. While fairly abstract at the outset, this seems to be (to me) an intuitive view; in particular, all of the manipulations and constructions with sheaves fit nicely into this schema.
I know that the older view of a sheaf on $X$ was to consider it as a triple
$$
(E, X, \pi)
$$
where $\pi : E \to X$ is a local homeomorphism, and so that the "sheaf of sections" of this map $\pi$ is the sheaf in the functorial sense described above.
This view makes much less sense to me, but I have to wonder if that is simply due to my having learned it second. However, it also makes me wonder if I am missing something, and so my question is as follows.

What are some (edit:) specific benefits of viewing a sheaf in this sense? What is gained by considering a sheaf as the espace étalé over $X$?

 A: Let me expand on Yosemite Sam's comment.  Pullbacks are indeed easier to define if you view a sheaf as a local homeomorphism.  On the other hand, pushforwards are easier to define if you view a sheaf as a set-valued functor.
Suppose we have a continuous map $f: X \to Y$ of topological spaces.
Given a sheaf $F$ on $Y$, viewed as a local homeomorphism $\pi: F \to Y$, we can simply pull $\pi$ back along $f$ to obtain a map into $X$; it is easily shown to be a local homeomorphism too.  This is the pullback sheaf $f^* F$.
On the other hand, given a sheaf $E$ on $X$, viewed as a functor $\operatorname{Open}(X)^\text{op} \to \mathbf{Set}$ (where $\operatorname{Open}(X)$ is the poset of open subsets of $X$), we can simply compose $E$ with the functor $\operatorname{Open}(Y) \to \operatorname{Open}(X)$ that takes inverse images along $f$.  This gives a set-valued functor on $\operatorname{Open}(Y)$; it is easily shown to be a sheaf too.  This is the pushforward sheaf $f_* F$.
So, there are advantages to proving the equivalence between the two definitions early on.
A: To me the obvious answer involves sheafification of a presheaf.  If you look at the construction of the associated sheaf to a presheaf  in, say, Hartshorne it goes through the étalé space construction without specifically telling you, and to me it makes the construction somewhat unmotivated.
Namely, if $P$ is a presheaf on $X$, then taking the stalk $P_x$ at each point of $X$ gives you an $X$-indexed set, or as Tom would say above, a set over $X$.  One can then define a topology on $\biguplus_{x\in X}P_x$ so that the natural projection $\biguplus_{x\in X}P_x\to X$ is a local homeomorphism in the obvious way namely if $U$ is a neighborhood in $X$ and $s\in P(U)$, then $(s,U) = \lbrace germ_x(s)\mid x\in U\rbrace$ is a basic neighborhood.  This topology immediately makes $(s,U)$ homeomorphic to $U$ and makes $s$ a section over $U$ via $x\mapsto germ_x(s)$ for $x\in U$.  The sheaf of sections of $p$ is the associated sheaf of $P$.  I find this construction completely unmotivated without going through étalé spaces.
Added.  Another good reason is it is convenient for defining actions of a topological groupoid on a sheaf.  If $G=(G_0,G_1)$ is a groupoid, a $G$-sheaf is an étalé space $p:X\to G_0$ over $G_0$ together with an action map $G_1\times_{d,p} X\to X$ satisfying obvious axioms.  This is more difficult to phrase in the sheaf as a functor language.  A theorem of Joyal and Tierny says that every Grothendieck topos is equivalent to the topos of sheaves on a localic groupoid.
 Additional additions  From the étalé space point of view it is clear that covering spaces are indeed elements of the topos $Sh(X)$ of sheaves on $X$ and that the fundamental group of $Sh(X)$ (in the sense of Barr and Diaconescu) is the usual fundamental group of $X$ if $X$ is locally simply connected.  
Of course it is not hard to see that covering spaces correspond to locally constant sheaves but I don't think this is the way people think about covering spaces.
A: $\newcommand\Top{\mathit{Top}}\DeclareMathOperator\Sh{Sh}$One advantage is that it gives you a geometric representation for slice topoi of sheaves over a space:
Given a topos $E$, $E$ is equivalent to the full-subcategory of $\Top/E$, the category of topoi over $E$ consisting of étale morphisms of topoi. The equivalence sends an element $e \in E$ to the morphism $E/e \to E$ where $E/e$ is the slice topos.
Topoi are generalizations of spaces, and to view a space as a topos, we send a space $X$ to its topos of sheaves $\Sh(X)$. Étale geometric morphisms $\Sh(X) \to \Sh(Y)$ are in bijection with local homeomorphisms $X \to Y$ (when Y is sober). So, this means that if $F \in \Sh(X)$, the local homeomorphism $E(F) \to X$ which corresponds to $F$, viewed as a map of topoi is nothing but the étale geometric morphism $\Sh(X)/F \to \Sh(X)$. In particular, this implies that $\Sh(X)/F \cong \Sh(E(F))$.
