Why is $Set$ not equivalent to $Set^{op}$?

Consider the following property of a category $\mathcal C$:

If $f: A\to B$ is a morphism and $B$ is an initial object, then $f$ is an isomorphism.

Since this property is stated only in terms of existence properties of certain morphisms (and does not depend on uniqueness of objects even if we unfold the definition of an initial object), if we have two equivalent categories they will either both have this property or both not have this property.

The explanation you reproduce consists of the observation that $\mathbf{Set}$ has this property (because the only morphism into an initial object is the empty function $\varnothing\to\varnothing$, which is an isomorphism), whereas $\mathbf{Set}^{\rm op}$ does not (there are functions with singleton domains that are not bijections, and such a function is in $\mathbf{Set}^{\rm op}$ a non-iso morphism into an initial object).


Statement 1 : Let $C\simeq D$ be two categories which are equivalent thanks to a functor $F : C \to D$. If $X$ is an initial object in $C$ then $F(X)$ is an initial object in $D$.

Statement 2 : If $X$ is an initial object in $C$ (for some category $C$), it is a terminal object in $C^{op}.$

Statement 3 : If $F : C \to D$ is an equivalence between categories with products, one has $F(X \times Y) \simeq F(X) \times F(Y)$ for all $X,Y$.

Now suppose to have a functor $F : Set \to Set^{op}$ which gives an equivalence between them. Then, because $\emptyset$ is initial in $Set^{op}$, we get that $F(\emptyset)$ is initial in $Set^{op}$. (Statement 1). After that, we get that $F(\emptyset)$ is terminal in $Set$. (Statement 2). Hence, there is $a$ such that. $F(\emptyset) = \{a\} .$ Now apply statement 3 $$\{a\} = F(\emptyset) = F(\emptyset \times \emptyset) \simeq F(\emptyset) \times F(\emptyset) = \{a\} \bigsqcup \{a\}.$$ So you have established a bijection between $\{a\}$ and $\{a\} \bigsqcup \{a\},$ which leads to a contradiction.