Where did Cain get his wife?
Genesis 5:3-4 tells us, "And Adam lived one hundred and thirty years, and begot a son in his own likeness, after his image, and named him Seth. After he begot Seth, the days of Adam were eight hundred years; and he had sons and daughters." Though Cain and Abel were Adam and Eve's first sons, the Scriptures are clear that Adam and Eve had at least 3 more sons and 2 daughters. In all likelihood, they had many more than this. Hence, the obvious answer is that Cain married one of his sisters.
This answer upsets some people because they immediately assume that it advocates incest. The reality is that incest was forbidden for a very practical reason: the genetic diseases that can occur when two near relatives marry. When the world was brand new, mutations that create genetic diseases had not yet started to enter the gene pool. There was no practical reason that a man couldn't marry his sister. It is for this same reason that Adam was able to marry Eve even though she was formed from his rib (Genesis 2:21-22). Even though Adam and Eve shared DNA, there wasn't a concern about children being born with genetic defects at the beginning.
Over time, you see this changing in the Bible. By Abraham's day, people assume that a brother and sister wouldn't marry, but Abraham was married to his half-sister and this was considered to be fine (Genesis 20:1-12). Jumping further ahead in time, by Moses' day marriages to people closer than a cousin was forbidden (Leviticus 18:6-18). Today, it is not recommended for first cousins to marry.