Problem: There were no women for Cain to marry. There was only Adam, Eve (4:1), and his dead brother Abel (4:8). Yet the Bible says Cain married and had children.
Solution: Cain married his sister (or possibly a niece). The Bible says Adam “begot sons and daughters’’ (Gen. 5:4). In fact, since Adam lived 930 years (Gen. 5:5), he had plenty of time for plenty of children! Cain could have married one of his many sisters, or even a niece, if he married after his brothers or sisters had grown daughters. In that case, of course, one of his brothers would have married a sister.