You know you can do better, but knowing and doing are two separate things. It's only natural to feel bad about letting someone down repeatedly but there comes a point when serial apologies become more about guilt than they do about remedying a situation. There's nothing to be gained by raking yourself over the coals so put down the crop, take off the hairshirt, and focus on changing just one thing about your behavior. It could be something simple like showing up on time or returning a phone call. You'd be amazed how following through on a single action step can make a world of difference.