Another advantage is that a population that doesn't consist of clones is more resistant to diseases.
With regards to "why separate sexes? why two?", the technical reason is mitochondria, the "cells" within our cells: you don't want the copies from one parent to fight with copies from another parent. The standard solution for the multicellular organisms is that only one parent provides mitochondria, the other does not. There were attempts with more than two sexes, turned out to be too complicated.
Whoa, does this suggest something very sensitive, unstable, and delicate about mitochondria that their preservation must be highly conservative otherwise it could not be a steadily observed thing? How exactly would a fight ensue for the coding of a mitochondria? Are those organelles even created by ribosomes? How exactly are those things synthesized anyways?
Unlike everything else in the cell, mitochondria are not created by the cell nucleus. They are semi-autonomous "cells in the cell". Like, that is their assumed evolutionary origin: a parasite that miraculously became a symbiont. The "outer cell" provides protection and food, the "inner cell" specializes on energy production.
So what happens when a cell wants to become two is that the cell nucleus will (command to) synthesize another copy of all other stuff, but mitochondria just create their own copies by splitting in two.
Now what would happen in sexual reproduction if each gamete would bring their own mitochondria? The "outer cell" would benefit from them living together peacefully, but if a mitochondrion would attack its competitors instead, it would be an evolutionary advantage. Even if it would reduce the probability of the whole cell surviving, as long as the chance of the cell surviving is greater than 50%, it is profitable for a mitochondrion to attack its competitors, because it will leave twice as many descendants if it wins. This would lead to arms race between mitochondria, and the cell would pay the costs.
Except, there is this neat trick when the cell creates two types of gametes: those with mitochondria (i.e. female) and those without (i.e. male). Then there is no internal battle after joining.
A few plants tried it with more than two sexes, where the rule was generally "any two individuals from different sexes can reproduce", and for each combination of sexes they knew which one provides the mitochondria and which does not. But most of nature settled on two sexes.
With regards to "why separate sexes? why two?", the technical reason is mitochondria, the "cells" within our cells: you don't want the copies from one parent to fight with copies from another parent. The standard solution for the multicellular organisms is that only one parent provides mitochondria, the other does not. There were attempts with more than two sexes, turned out to be too complicated.