Simulation based proofs, what am I missing?
Basically, what you are missing is that the real view for a given input pair must be indistinguishable from the simulated view for the same input pair.

Remember that, put simply, the requirement is that the view of each party can be simulated based only on its input and output. So, in the case of $P_2$, for each pair of input bits the simulator is given the input $y$ of $P_2$ and the output bit $x \wedge y$, where $x$ is the input bit of $P_1$, and must simulate the view $(y,x)$ of $P_2$ (input and received message). Now, consider the two cases where $y = 0$. In both those cases, the simulator has input $(0,0)$, so its output in both cases will be the same. But the real view is not the same ($x$ can be $0$ or $1$), so the simulator, no matter what it does, can't possibly simulate both views.

Concretely, consider for example the following simulator $S_2$. On input $(y,w)$ (where $w = x \wedge y$),


if $y = 0$, chose $b \gets \{0,1\}$ randomly and output $(0,b)$;
if $y = 1$, output $(1,w)$.


Recall also that for all input pairs $(x,y)$, we have $\mathsf{view}_2(x,y) = (y,x)$. Consider now the following distinguisher $D$. $D$ gets as input a pair of bits $(a,b)$; if $(a,b) = (0,0)$, $D$ outputs $1$, and otherwise $D$ outputs $0$. The question is, if the inputs to the parties are $(0,0)$, what does $D$ output if we give it a real vs. simulated view of $P_2$? A real view will be $(0,0)$, so $D$ will always output $1$. A simulated view will be $(0,0)$ or $(0,1)$ each with probability $1/2$, so $D$ will output $1$ with probaility only $1/2$, hence the two probability ensembles (real and simulated views) are distinguishable.