The book of Genesis only mentions Cain, Abel and Seth as children of Adam and Eve.
After Cain murders his brother Abel, “Cain went away from the presence of the Lord, and dwelt in the land of Nod, east of Eden” (Genesis 4:16). Immediately after this verse the author of Genesis states, “Cain knew his wife, and she conceived and bore Enoch” (Genesis 4:17).
Wait a second, how did Cain find a wife already? Where did this woman come from?
One important reality to keep in mind is that in the book of Genesis, humans lived much longer than they do now. According to the Bible, “Thus all the days that Adam lived were nine hundred and thirty years; and he died” (Genesis 5:5).
Furthermore, the verse prior mentions that “he had other sons and daughters” (Genesis 5:4). In order to “be fruity and multiply,” Adam and Eve had to conceive many children, otherwise the human race would simply cease to exist. According to some Jewish traditions, “Adam had 33 sons and 23 daughters.”
The Bible does not tell us when Cain found a wife and so it is unknown whether he married a sister, or niece or even a grand-niece. What is true, if Adam and Eve were truly the first parents of all humanity (which the Catholic Church affirms), is that Cain must have married a relative. Regardless of which generation Cain found a wife, someone at some point had to marry his own sister.
Also, the Law of Moses was not in effect at this point in salvation history, and so incestuous relations were lawful and necessary for God’s plan to unfold. This may have also been the case with Noah’s family after the flood.
However, after many generations filled the earth with people, God revealed to them that incest was contrary to his ultimate plan and showed to them a new pathway. This remains in effect today and is why incest is no longer permitted.
Alternatively, some modern biblical scholars believe there were other humans besides Adam and Eve and that when Cain left Eden, he found other humans not related to him. This is a theory known as polygenismarguing that there were different races of humans that evolved independently of each other and not from an original couple. For example, biblical scholar Mary Joan Winn Leith “suggests that while the Israelite storyteller knew that other men and women in Genesis existed outside of Eden, they did not matter to him or factor into his account. He was concerned with Adam and Eve and their progeny—not those outside of this group.”
In the past the Church has spoken against such a proposition, as Pope Pius XII states in Humani Generis.
[T]he faithful cannot embrace that opinion which maintains that either after Adam there existed on this earth true men who did not take their origin through natural generation from him as from the first parent of all, or that Adam represents a certain number of first parents. Now it is in no way apparent how such an opinion can be reconciled with that which the sources of revealed truth and the documents of the Teaching Authority of the Church propose with regard to original sin, which proceeds from a sin actually committed by an individual Adam and which, through generation, is passed on to all and is in everyone as his own.
At the same time, recent Church documents have not commented on the issue and have left the door open to other possibilities based on recent developments in science. Since the book of Genesis is generally believed to be more symbolic in nature and not scientific, there is a variety of beliefs that can be accepted.
In the end, we don’t know whom exactly Cain married, and there are many possibilities. The Church believes the Bible contains everything that we need for salvation and some details were omitted for reasons we will likely never understand on this earth.