Cain's wife had to be either a sister or a niece. Given the circumstances, there was no other choice. It is interesting that even as late as Abraham, Isaac and Jacob, the marriage into one's family was still practiced.
We have to remember that in Genesis, we have a very high-level description of what actually happened. There is no "day in the life of..." record for Adam and Eve, none of the down-to-earth details of daily life. We are told that right after their creation, they were commanded to "Be fruitful and multiply," (Genesis 1:28). They must have produced many children but the narrative is concerned with the promised seed or offspring of the woman (Genesis 3:15) which will culminate in the birth of Christ. The record in Genesis narrowly focuses on those who are either in the lineage of Christ or who portray, as did Abel, a "type" or forshadowing of the work of Christ.
Notice that in Genesis 4:1,2, We jump from the birth of Cain and Abel to the fact that Cain was a farmer and Abel was a shepherd in the space of one verse! How much time had passed? How many other children had been born to Adam and Eve and perhaps even to those children? Probably many years had passed, perhaps a century or more (given that the lifespan of these early denizens of Earth was many centuries). In that time, Eve would have produced many more children. Indeed, we are told in Genesis 5:4 that Adam lived for 930 years and had many sons and daughters.
These sons and daughters would have started producing children at an early age. The command was to be fruitful and multiply and fill the earth. With that kind of blessing, who knows how many children and then grand and great-grand children would have been produced by Adam and Eve and their children? The numbers start to add up exponentially very quickly indeed, especially if we consider the possibility that, due to their commanded fertility, multiple births were probably very common.
So the answer to your question is that Cain married either a sister or a niece or perhaps even a grand or great-grand niece depending on how much time had passed. The same phenomenon answers the question of who Cain was afraid of after he murdered his brother, Abel. If the rest of Adam's family did not share Cain's hatred of Abel, it is no wonder he feared them after the murder. Who were these others? By this time, they might well have numbered in their thousands!
I hope you have found this helpful.