NC'd coz it's quite personal.
I think it's generally selfishness, but behind that selfishness may be other issues like mental health issues (even if they're not diagnosed).
My stepdaughter is 5; her mum hasn't seen her since she was 3.
Her mum broke up with DH when she was pregnant, because she wanted a baby to herself (both DH and his ExW have told this to me). DH had to go through the courts to get access, and didn't get to look after his daughter until she was 11 months old. For a while after that, he had her 2 nights a week, and they co-parented quite amicably (and once I was in the picture, ExW was really friendly to me as well). Then suddenly when DSD was about 2.5, her mum decided that she wanted DH to be the resident parent and she would see her daughter every other weekend. DH obliged. She frequently didn't turn up for contact, either with no warning or a weak excuse (hairdressers appt, cold, that sort of thing). After about a year of that, she declared to DH, by text, that she never wanted to see her daughter again. DH phoned her several times and she never gave a reason (we later found out that she had just got engaged to someone else at that time).
I love my stepdaughter and it makes me angry whenever I think about it, that her own mother could just walk away so easily. I never could, and I didn't carry her for nine months. We tell DD "mummy finds it too hard to look after people and she can't care for you properly or keep you safe any more", with lots of reassurances that DD's loved and it's not her fault. DH has told me before that sometimes he does just want to tell DD that her mother's a selfish ** and doesn't deserve her, but that would probably hurt DD more than she needs right now.
Sorry for how long that is 