Sacha, I was in a similar situation to you when my son was young. When his dad and I split up I prided myself on the way we got on for the benefit of our son, and perhaps let him off the hook when he was unreliable. There were many no shows, and it still upsets me to think of my son sitting eagerly on the stairs waiting for him to turn up one time.
He wasn't a bad person, just a crap dad, not having had good role models himself.
Eventually, I got fed up with it and stopped making things easy for him. He didn't bother to see our son for years. I still don't understand how a loving parent can do that.
Anyway, I'm glad things seem to be working out for you and your son, even if you're the one that has to make all the sacrifices.
Basically, in my-long winded way, I'm saying some men are just unthinking, lazy and selfish.