One complication arises when the expression $E$ you have to substitute has a variable that is quantified or otherwise bound in the expression $P(x)$. For example, $P(x)$ can be $\exists y\;x\le y$ and $E$ can be $y+1$. Here $E$ has $y$, which is quantified in $P(x)$. Then instantiating $x$ with $E$, i.e., replacing $x$ by $E$, produces $\exists y\;y+1\le y$. The original statement $\exists y\;x\le y$ was true for all $x$ (take $y=x$), but the resulting statement $\exists y\;y+1\le y$ is always false, so we did something wrong. To do the substitution correctly, one has first to rename the variable $y$ bound by the quantifier since $\exists y\;x\le y$ means the same as $\exists z\;x\le z$. Then replacing $x$ with $y+1$ gives $\exists z\;y+1\le z$.
Sometimes you have to instantiate variables with functions, properties or relations. For example, in your case the property $P(x)$ has to be instantiated with $x\notin x$. If before instantiation you have, for example, $P(\{y\})$, then replacing $P(x)$ with $x\notin x$ gives $\{y\}\notin\{y\}$. The precise rules become technical and probably won't help an intuitive understanding, but you should be able to do this in concrete cases.
Back to set-builder notation. I said in post #4 that
\[
X=\{x: P(x)\}\implies \forall y\;y\in X\iff P(y).\qquad(*)
\]
This is the definition of the set-builder notation. In your case, $V=\{x:x\notin x\}$. To apply (*) to this set, we compare the premise of (*), i.e., $X=\{x: P(x)\}$, with $V=\{x:x\notin x\}$. Comparing symbol by symbol, we see that $X$ is $V$ and $P(x)$ is $x\notin x$. Now let's put our instantiating skills to use and instantiate $X$ with $V$ and $P(x)$ with $x\notin x$ in the conclusion of (*), i.e., in $\forall y\;y\in X\iff P(y)$. The result is $\forall y\;y\in V\iff y\notin y$. Since this is a true statement starting with $\forall y$, we can instantiate $y$ with anything, for example, with $V$. This gives $V\in V\iff V\notin V$.(For the background of this meme, see the second dialog
here.)
I say it again, nobody claims that $V\notin V$. What the argument proves is that $V\in V\iff V\notin V$ holds for $V$ with that definition. You know that there are atomic (indivisible) propositions such as $x\in A$ and $(x+y)^2=x^2+2xy+y^2$. There are also compound propositions that are formed from atomic ones using "and", "or", "not", "implies" and other connectives. For example, $x\in A\land (x+y)^2=x^2+2xy+y^2$ is a compound proposition. In this case, the conclusion of the argument is a compound proposition $V\in V\iff V\notin V$ that consists of two atomic propositions $V\in V$ and $V\notin V$ joined by the connective $\iff$, i.e., equivalence.