The book of Genesis only mentions Cain, Abel and Seth as children of Adam and Eve.
Wait a second. How did Cain find a wife already? Where did this woman come from?
One important thing 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). According to the logic of the book of Genesis, in order to “be fruitful 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. None of those details are to be found in the text. But what follows from the narrative of the book is that if Adam and Eve were the first parents of all humanity, then Cain must have married a relative. Regardless of which generation Cain found a wife, someone at some point had to marry his own sister.
Many biblical scholars agree that, genetically, Adam and Eve were without defect (besides original sin), and so the intermarriage of successive generations would not have produced genetically defective children. It was part of God’s initial plan in order to populate the earth. Also, the Law of Moses was not in effect at this point in salvation history, and so incestuous relations were not only not forbidden but moreover necessary for God’s plan to unfold. This may have also been the case with Noah’s family after the flood.
On the other hand, some other 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 polygenism arguing that there were different groups 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 in Pope Pius XII’s 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.
But it must also be taken into account that more recent Church documents have not commented on the issue have left the door open to other possibilities based on recent developments in science. Since the book of Genesis is understood to be symbolic in nature and not scientific, there is a variety of beliefs that can be accepted that do not contradict the spiritual meaning of the text.
In the end, as it happens with plenty of this kind of stories, we don’t know whom exactly Cain married. The Church believes the Bible contains everything that we need for salvation (and not necessarily for the satisfaction of scientific enquiry), so the inspired authors necessarily omitted details for reasons that have to do with the final intention the text was written for.