How should one think about sheafification and the difference between a sheaf and a presheaf The first time I got in touch with the abstract notion of a sheaf on a topological space $X$, I thought of it as something which assigns to an open set $U$ of $X$ something like the ring of continuous functions $\hom(U,\mathbb{R})$. People said that sections of a sheaf $F$, i.e. elements of $F(?)$, are something which allow 'glueing' like in the example: if two functions $f:U\to\mathbb{R}$ and $g:V\to\mathbb{R}$ coincide on the intersection $U\cap V$ there is an unique function $U\cup V\to\mathbb{R}$ restricting to $f$ and $g$. So a sheaf consists of 'glueable' objects.
A presheaf, say of rings, on a topological space $X$ is a functor $F:Op(X)^{op}\to Rng$ where $Op(X)$ denotes the category of open sets of $X$. One may generalize all this using the terms 'site' and 'topos' but let's consider this easy situation. A sheaf is a presheaf fulfilling an extra condition, so there is an inclusion of categories
$$
  Pre(X)\leftarrow Shv(X):i.
$$
Please excuse the awful notation but this inclusion functor admits a left-adjoint, the sheafification functor
$$
f:Pre(X)\leftrightarrow Shv(X):i.
$$
Since I got in touch with schemes, I think of a presheaf or a sheaf as of a space. There is a notation of a 'stalk' $F_x\in Rng$ at a point $x$ of $X$. I think of a stalk as the point $x$ of the space $F$. The inclusion functor and the sheafification functor both respect the stalks.
For example the sheafification of a constant presheaf is a locally constant sheaf.
My first question is:

How shoud I really think about sheafification?

A presheaf of sets is the canonical co-completion of a category: You take a (small) category $S$ which does not allow glueing (=has not all colimits) and then $Pre(S)$ has all colimits. $S$ is fully and faithfully embedded into $Pre(S)$ with the Yoneda embedding $Y:S\to Pre(S)$. This functor does not respect colimits, so, loosely speaking, the way of glueing is not respected in this transition. Maybe, considering sheaves instead of presheaves is a way of repairing this failure.
My second question is:

With respect to the interpretation above, what really makes the difference between a presheaf and a sheaf and how should I visualize that difference, if I think of a presheaf as if it is a space?

Thank you.
 A: There are two ways a presheaf can fail to be a sheaf.


*

*It has local sections that should patch together to give a global section, but don't,

*It has non-zero sections which are locally zero.


When dividing the problems into two classes, it is easy to see what sheafifying does.  It adds the missing sections from the first problem, and it throws away the extra sections from the second problem.
The latter kind of sections tend to be easier to notice, but are less common.  Usually, when a construction or functor must be sheafified, it has local sections that should patch together but don't.  
A simple example of a presheaf with this property is the presheaf $F_{p=q}$ of continuous functions on the circle $S^1$ which have the same value at two distinct points $p,q\in S^1$.  When I restrict to an open neighborhood of $p$ that doesn't have $q$, the condition on their values goes away.  Because the same thing is true for open neighborhoods of $q$ which don't contain $p$, the condition on the functions in this presheaf has no effect on sufficiently small open sets.  It follows that this presheaf is locally the same as the sheaf of continuous functions.  Therefore, for any function on $S^1$ which has different values on $p$ and $q$, I can restrict it to an open cover where each local section is in $F_{p=q}$, but this function is not in $F_{p=q}$.  This is why $F_{p=q}$ is not a sheaf.
When we sheafify, we just add in all these sections, to get the full sheaf of continuous functions.  This is clear, because any two sheaves which agree locally are the same (though, I mean that the local sections and local restriction maps agree).
This example really does come up in examples.  Consider the map $S^1\rightarrow \infty$, where $\infty$ is the topological space which is $S^1$ with $p$ and $q$ identified.  If I pull back the sheaf of functions on $\infty$ in the naive way, the resulting presheaf on $S^1$ is $F_{p=q}$.  To get a sheaf, we need to sheafify.
A: In regard to your request to link the intuition to the concept of stalk space, recall that a sheaf can be regarded as a presheaf with two special properties:  i) elements which are locally equal are in fact equal, and ii) families of local elements which agree on local overlaps come from a globally given element.
The first property is characteristic of presheaves of FUNCTIONS, i.e. given any property P, assigning to an open set U the set of functions on U with property P is a presheaf with the first property.
Then further assigning to each open set U the set of functions on U having the property P locally in U is actually a presheaf with both sheaf properties.  Thus a sheaf can be viewed as a presheaf of functions defined by a local property.
In the setting of (etale') spaces, to sheafify a presheaf one first defines the stalk at each point, and for each element defined over U, its germ in the stalk at each point of U.  
Then the first step of sheafification is to equate two elements ("sections") of the presheaf over U if they have the same germs at each point of U.  This makes the presheaf into a sheaf of functions (an element takes x to its germ at x) with values in the set of stalks.
the second step adds in all functions from U to the stalks over U that are locally of this form, i.e. locally given by taking germs of elements defined in open subsets of U.
This two step process sheafifies the presheaf into a sheaf of locally defined functions.
( Maurice Auslander taught it this way in 1965 at Brandeis in first year graduate algebra.)
A: My opinion is that if you want intuition then try a direct approach. Think of (sections of) (pre-)sheaves as functions on a space defined locally. Then if you want your functions to satisfy some reasonable conditions, then you are naturally led to the sheaf properties.
There are two ways a pre-sheaf can fail to be a sheaf, both seem reasonable expectations from a function:
1) One would reasonably expect that the only function that is locally $0$ is the zero function. 
2) One would also reasonably expect that knowing the definition of a function locally, i.e., on an open cover means knowing the function everywhere (i.e., on any open set).
Now if your presheaf satisfies (the precise versions of) these conditions, then it is a sheaf.
If you prefer, you can translate these statements to category language, but I am not sure that will give you more than the definitions you already have. :)
A: For variety, you can think of presheaves as being sheaves on a different sort of space.
Normally, if $U$ and $V$ are open sets, we think of $\{ U, V \}$ as being a cover of the set $U \cup V$, and this implies a relationship between sections over the various sets (i.e. the gluing condition).
But we can imagine a "space" where $U \cup V$ is "more" than just $U$ and $V$ put together; so that $\{ U, V \}$ doesn't cover $U \cup V$: the only open things $\{U, V \}$ can tell us about are those open sets that are contained in $U$ or contained in $V$ (because of restriction maps).
So rather than open sets, we get sieves: subsets of the topology that are downward closed ($U \subseteq V \in S$ implies $U \in S$). In fact, we can make the sieves the opens of a locale, which is essentially a reformulation of the notion of topological space in a way that doesn't make any reference to points.
Any presheaf on the original space satisfies the sheaf condition with respect to sieves, and is thus a sheaf on this locale; e.g. if we let $U$ also mean the sieve generated by $U$, and we let $\{ U, V \}$ mean the sieve generated by both $U$ and $V$, and so forth,then there is a pullback square
$$ \begin{matrix} P(\{ U, V \} ) &\to& P(U)
\\ \downarrow & & \downarrow
\\ P(V) &\to& P(U \cap V) \end{matrix} $$
Sheafification corresponds to the inverse image of a morphism from the locale of opens to the locale of sieves: each sieve gets replaced by its union.
In fact, from the perspective of topos theory, the category of sheaves really is a subspace of the category of presheaves: sheafification is a left-exact left adjoint of the inclusion map, and thus the inclusion is a geometric morphism. (similarly, continuous maps between spaces induce geometric morphisms between the corresponding categories of sheaves)
A: It's worth thinking of sheafification as a "localization" process. For example if you take the pre-sheaf on $X$ defined for each $U$ to be the set of constant functions $U\to Y$, then the "sheafification" is the set of "locally constant" functions on each $U$.
Or let $F(U)$ be the set of bounded functions $U\to Y$ for some metric space $Y$. Then the sheafification of $F$ gives for each $U$ the locally bounded functions on $U$.
If $F(U)=\{\star\}$ if the closure of $U$ is compact, and $F(U)=\emptyset$ if the closure of $U$ is not compact, then the sheafification of $F$ is $F(U)=\{\star\}$ if $U$ is locally compact.
Indeed, practically any time you talk about a "local" version of a property, you are implicitly dealing with a sheafification.
A: 
This functor does not respect colimits, so, loosely speaking, the way of glueing is not respected in this transition. Maybe, considering sheaves instead of presheaves is a way of repairing this failure.

Actually, that's not at all a bad way of thinking about it: in the classical case of sheaves on a topological space, sheafification of the Yoneda embedding preserves colimits by open covers. In the general case, one replaces "open cover" by "covering sieve". 
Let me amplify on that, starting with the topological space case. If $U_i$ is a covering of $U$, then we have an "exact sequence" 
$$\sum_{i, j} U_i \cap U_j \stackrel{\to}{\to} \sum_i U_i \stackrel{\pi}{\to} U$$ 
where the two parallel arrows constitute the kernel pair of $\pi$ and $\pi$ is the coequalizer of its own kernel pair (a regular epi, in the parlance). So $U$ is a colimit of $U_i$'s (either in $Top$ or in the topology as poset). Applying the Yoneda embedding to this colimit diagram, we are led to a sequence 
$$\sum_{i, j} \hom(-, U_i \cap U_j) \stackrel{\to}{\to} \sum_i \hom(-, U_i) \to \hom(-, U)$$ 
which is clearly not exact. It is "left exact" in that the two parallel arrows are again the kernel pair of the arrow on the right (in part because the Yoneda embedding preserves pullbacks), but the arrow on the right is not the coequalizer of the kernel pair in the category of presheaves. 
But a sheaf $F$ "thinks" this is exact, because when we hom the sequence above into $F$, we get a diagram 
$$F(U) \to \prod_i F(U_i) \stackrel{\to}{\to} \prod_{i, j} F(U_i \cap U_j)$$ 
(where we have made use of the Yoneda lemma) which is exact by definition of sheaf. Since this is exact for all sheaves, it must be that the associated sheaf functor applied to the inexact sequence above is exact, in particular the associated sheaf functor applied to the arrow on the right is a coequalizer, as you suggested might happen. 
The general situation for Grothendieck topologies is similar. If $U$ is an object of the site, a covering sieve $R$ of $U$, 
$$R \hookrightarrow \hom(-, U),$$ 
can be expressed as a colimit of representables mapping into $\hom(-, U)$. A presheaf $F$ is a sheaf for the topology if it "thinks" that $\hom(-, U)$ is the colimit of the diagram, insofar as homming into $F$ induces an isomorphism 
$$F(U) \to \hom_{PSh}(R, F)$$ 
by definition of sheaf. So the associated sheaf functor thinks that the colimit of the evident diagram $El(R) \to C \to PSh(C)$ in the category of presheaves is the representable $\hom(-, U)$, following the same reasoning as above. 
A: Here is another instance of Greg Muller's first way a presheaf can fail to be a sheaf:
Let X be the plane, and let F(U) for any open set U be the set of all bounded  continuous functions from U to $\mathbb{R}$.  Then F is a presheaf but it is certainly not a sheaf - plenty of functions are locally bounded but not globally bounded!  So you are not able to glue together little bounded pieces because you might end up with an unbounded function.  What is the sheafification of this presheaf?  It is just the sheaf which lets you glue those pieces together - i.e. the sheaf of all continuous real valued functions!  You can check this using the universal property, or (I think it will be enlightening), if you go back to your favorite construction of sheafification and see that his is the functor you get.
A: A presheaf just consists of local data, and a sheaf is a presheaf whose local data can be glued locally together. Sheafification takes the local local data of the local data ;). A very nice and category theoretic but also geometric introduction to presheaves, sheaves and sheafification is given in the 2 page article

Tom Leinster, Sheaves do not belong to algebraic geometry, http://www.maths.ed.ac.uk/~tl/sheaves.pdf

There is an adjunction between presheaves on $S$ and spaces over $S$, and the resulting equivalence of restricted categories is between sheaves on $S$ and etale spaces over $S$. This may also be regarded as a definition of sheaves; the sheafification functor comes with it.
