Genetically, Adam and Eve were probably perfect. Therefore marrying a close relation in the early years after Creation would not have resulted in genetic dangers. We are going down genetically, not up as evolution falsely claims. Today, genome copying errors are increasing. (Medical doctors know that many diseases are genetic disorders, i.e. the errors are increasing over time.) So the short answer is that Cain would have married one of his sisters. But before you start screaming "incest" think about history a little more.
We know that Abraham (about 400 years after the Great Flood; 2,000 years after Adam & Eve; or 4,000 years ago) married his half-sister, Sarah: Genesis 20:12 "And yet indeed she is my sister; she is the daughter of my father, but not the daughter of my mother; and she became my wife." Abraham married his sister. And we do not see God condemning him for it. (Recall the two times when he denied she was his wife, claiming that she was his sister instead? Well, actually he was only "half" lying, right?)
European royalty and others in the world have married close relations down through the ages. But after millennia of DNA copying errors it has caused problems associated with inbreeding among them, long faces, bleeding, and other problems.
Even the 1939 movie, "Gone With the Wind," has the character, Ashley marrying Melanie, his cousin.
Now though, only a couple of generation later, we have forgotten all of these examples of different societal mores from the past. Ahem, are we morally better than our ancestors? We want to claim "incest" and other vile words. But then today many modern people have multiple sexual partners, i.e. adultery, which the Bible makes very clear as wrong. But note that whom one marries (one person, of the opposite sex, of course) has less direct prohibitions Scripturally speaking.
Now, hundreds of generations after Creation, we have many genetic imperfections. It is dangerous to marry a close relation due to the similar dominant and recessive genes that would be passed on to the children.
Laws against marrying close relations were not given in the Bible until the time of Moses, who lived about 400 years after Abraham. By then enough DNA copying errors were beginning to show themselves.
But some Muslim sects even today regularly marry first cousins. Two books discuss this, Marriage and the Terror War by Kurtz, and The Seed and the Soil by Delaney. An "outsider" remains outside; but an insider is tied to his or her family and to Islam above all.
Getting back to the topic "Who did Cain Marry?" it would have had to be either a sister or niece, correct? The human race started with Adam and Eve. And Eve was the Mother of all. Eve had many more children than just Cain, Abel, and Seth.
Genesis 5:4 "And the days of Adam after he had begotten Seth were eight hundred years: and he begot sons and daughters."
Adam and Eve also had DAUGHTERS (per the verse above).
Did George Washington have brothers or sisters? How about Julius Caesar?
We do not know, because such things are not of interest to the main events
of their adult lives. The same holds true for Cain, Abel, and Seth.
Just as we do not need to know about George Washington's brothers or sisters,
or Abraham Lincoln's, or Julius Caesars - we do not know directly about
the other brothers and sisters of Cain and of Seth, except for the brief
reference to them in Genesis 5:4.