This is a very common question, because when reading through Genesis we come to chapter 4 where Cain is punished by God for murdering his brother, and immediately afterward we're told that "Cain knew his wife." (v17) People quite naturally want to know where this woman came from since she seems to pop up out of nowhere.
One key element that most people don't take into consideration when dealing with this question is the fact that Bible writers tend to ignore anyone who doesn't make a contribution to their narrative. In other words, we read about Cain, Abel and Seth because their contributions to the story line are critical. But that doesn't mean they were the only children born to Adam and Eve. Not by a long shot.
Cain and Abel are introduced to us in the opening verses of Genesis chapter 4, but in verse 3 there's an important phrase, which says: In the course of time Cain brought to the Lord an offering... (Genesis 4:3) The phrase "in the course of time" presents for us the passage of a considerable amount of time, during which the world's population obviously grew very rapidly. How did it grow? Adam and Eve had many more children, who grew and had children and whose children grew and had children. (see Genesis 5:4)
The Bible doesn't record how long Cain lived, but if his lifespan was anywhere near that of his brother Seth it would have been in excess of 900 years. In just a fraction of that time the population growth would have been sufficient for Cain to have had several choices in a wife. And even though the woman he married would have been a close relative, the purity of the gene pool in those early days of human history allowed for healthy children.