The traditional Christian explanation is that Cain married a sister or another close female relative. Genesis 5:4 specifically states that Adam had other sons and daughters, although most are not named. The biblical genealogies identify individuals important to the unfolding story rather than attempting to list every child in every family.
Some Christians have suggested that Cain may have married a niece or another descendant of Adam and Eve, depending upon how much time had passed. Genesis does not tell us Cain's age when he married or precisely when the events occurred.
Such a marriage seems strange today because Scripture later prohibited marriage between close relatives. However, those laws were given many generations afterward, during the time of Moses. The Genesis account does not indicate that the same restrictions had already been established.