Perhaps Cain married one of the offspring of Adam and Lilith.
God didn’t originally intend to make woman. Adam asked for a companion, so God created Lilith out of the sediment and decay. All was well except for one thing: she refused to be subservient to Adam, arguing that she was created out of the same substance as he, and therefore equal. When he insisted, she flipped him off and ran for the Red Sea. There, the sea was full of demons, and she took the time to bear the lilim, yet another race of demons.
Adam, of course, went crying to God, who sent three angels to bargain with her: Senoy, Sansenoy, and Semangelof. She still refused and they swore that her children would be doomed to die.
Lilith still refused to return to Adam, accepting the angels’ price. However, she laid claim over the children of Adam, saying that within a number of days she would take their lives if she so chose.
Despite all this, legend states that she did go back to Adam briefly, and bore three sons: Shedim, Lilin, and Rauchin. These she took with her when she left the final time.