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, which was not forbidden until much later (in Lev 18:9).