Question on sheafification of a presheaf
Solution 1:
For (1), you want the "sheafification" to have the same stalks as $\mathcal F$, so if we allow $s(p)$ to be something outside $\mathcal F_p$, we'd get "too many" stalks.
For (2):
Take a space $X$. Define the presheaf, $F$, for each open $U\subset X$, as the set of bounded functions $f:U\to\mathbb R$. Clearly, if $V\subset U$, $f_{|V}$ is a bounded function on $V$, so this is a pre-sheaf.
But it is not a sheaf, because we cannot stitch an arbitrary number of bounded functions together to get a bounded function.
The sheaf you get when you "sheafify" this presheaf is the sheaf of all locally bounded functions, $f$. This is generally what "sheafification" does - the objects resulting are objects which "locally" have the properties of the pre-sheaf.
Perhaps a simpler example: Let $F(U)$ be a singleton if the closure of $U$ is compact, and empty if not. Then the sheafification of $F$ would give a singleton at $U$ precisely when $U$ is locally compact.
Indeed, I suspect almost any time you refer to something as "locally $P$," for some property $P$, you are referencing a sheafification of the original property, $P$. (For example, the other answer gives you the idea of a function being constant, and a function being "locally constant.")
Solution 2:
The sheafification of a presheaf $\mathcal{F}$ is the "smallest" sheaf with the same stalks as $\mathcal{F}$.
A classical example (which Hartshorne himself gives) is the presheaf $\mathcal{F}$ of constant $\mathbb{Z}$-valued functions. On any open set $U$, we have $\mathcal{F}(U)=\mathbb{Z}$ and $\mathcal{F}({\emptyset})=0$, with the restriction maps the identity. (for more, see the Wikipedia article)
But this is not a sheaf, because if $U \cap V=\emptyset$, the glueing axiom does not hold. Assume that $m \in \mathcal{F}(U)$ and $n \in \mathcal{F}(V)$ with $n \neq m$. Since $m,n$ both restrict to zero in $\mathcal{F}(U \cap V)=0$, the glueing axiom requires the existence of an unique $q \in \mathcal{F}(U \cup V)$ that restricts to each of $m,n$. But this is not possible, since the restriction maps all were identity maps.
The solution is to sheafify. The sheafification of $\mathcal{F}$ is the sheaf of locally constant $\mathbb{Z}$-valued functions. Thus is $U \cap V=\emptyset$, and each of $U,V$ are connected, we have $\mathcal{F}(U \cup V)=\mathbb{Z} \oplus \mathbb{Z}$.
Solution 3:
First I give an example of sheafification which I think it is important: Let $X=\mathbb{R}^n$, for each open subset $U$ we define $\mathcal{F}(U)$ be the set of all constant functions from $U$ to $\mathbb{R}$. Then easy to see $\mathcal{F}$ is a presheaf on $X$. Now given $f_1\in\mathcal{F}(U)$ and $f_2\in\mathcal{F}(V)$ where $U\cap V=\emptyset$, there is now constant function $f$ on $U\cup V$ such that $f_{|U}=f_1$ and $f_{|V}=f_2$. So $\mathcal{F}$ is not a sheaf!. Now we define the sheaf $\mathcal{F}^+$ which is associated to $\mathcal{F}$: for each $U$, $\mathcal{F}^+(U)=$ the set of all locally constant functions on from $U$ to $\mathbb{R}$. Now you can observe that the sections of $\mathcal{F}^+$ on $U$ are created by glueing the sections of $\mathcal{F}$ in smaller open subset. This is the key point of thinking about sheafification, because for presheaf we can not glue the sections together.
Now for your question (1): in general the sections of a presheaf are not functions, so you can not glue them together. In order to glue them together you must somehow transfer them to functions, the canonically way to do this is Identify each $s\in\mathcal{F}(U)$ with the function $\bar{s}: U\rightarrow \cup \mathcal{F}_{p}$. $\bar{s}$ capture all behaviors of $s$. And now you can glue together $\bar{s}$ to have the sheaf $\mathcal{F}+$. You can read chapter 2 in the very readable book "Sheaf theory" written by Tennison to get more details.