I gave up on one friend who was always late or cancelled. We used to meet for lunch once a week, but as often as not I was left standing in the rain waiting for her, and she would arrive late, smiling, saying she had been trying on a dress, or 'couldn't get off the phone'. Other times, I would have skipped breakfast because we were having lunch, and she would phone as I was leaving the house to say she couldn't make it, and it would turn out that she'd known this for days, but hadn't bothered to tell me.
I know things happen, and if she had been late because of an emergency, it would have been fine; but it was because she basically saw her time as more important than mine.