There is a requirement in the definition of sheafification that looks superfluous to me and I'd like to know what I'm missing. Let $\mathscr{P}$ be a presheaf on the space $X$. We define its sheafification $\mathsf{sh}(\mathscr{P})$ as:
$$\mathsf{sh}(\mathscr{P})(U):=\left\{\varphi:U\to \bigsqcup_{x\in U} \mathscr{P}_x:\forall x\in U\ \ \varphi(x)\in \mathscr{P}_x \text{ and } (\star)\right\}$$ where $(\star)$ is the following condition: for every $x\in U$ there is an open neighbourhood of $x\in V\subseteq U\subseteq X$ such that $\varphi(x)=[(V,s)]$ for some section $s\in \mathscr{P}(V)$.
The condition $(\star)$ looks useless to me, because we are already imposing that $\varphi(x)=[(W,t)]$ for some neighbourhood $x\in W$ and for some section $t \in \mathscr{P}(W)$. But by definition of stalk at $x$, we have that:
$$\varphi(x)=[(W,t)]=[(U\cap W, t|_{U\cap W})].$$
And this means that condition $(\star)$ is automatically satisfied. What am I missing?
You should double-check the definition in the source you're using, since ($\star$) is not the condition involved in sheafification. Sheafification instead involves the condition ($\star\star$): for every $x \in U$ there is an open neighborhood $x \in V \subseteq U \subseteq X$ and section $s \in \mathscr{P}(V)$ such that $\phi(y) = s_{y}$ for all $y$ in $V$. We don't just require that $\phi$ agree with $s$ at $x$ (as you say, this is covered by $\phi(x) \in \mathscr{P}_{x}$); rather we require that $\phi$ agree with $s$ everywhere on some open neighborhood $V$ of $x$.