I think the reason why a lot of the posts on this are so heated is because I really think there are important values being brought up here.
My view -
It's not ok to accept an invitation and then not go because you feel like it
It's not primarily about the costs to me - though I do think people are a lot more careless of other people's money and that's a bit poor form. I do think that most people would not be "oh well never mind darling" about it if they had paid for a ticket for their child to go somewhere and their child didn't feel like going but when it's someone else's money, they don't care.
It's also not primarily about whether it matters to the birthday child if one person does it. Though the fact is that if everyone takes the same attitude, sometimes the birthday child will end up with very few people which is upsetting to the birthday child. You doing it and banking on everyone else to show up instead is basically you betting on everyone else being a better person than you.
What it's about for me is:
Teaching my children social etiquette. That is important for life - flaky people don't have many friends
Teaching them that promises you make are important - similarly if my kid says to another child "I am coming off the swing in a min so you can have a turn", I then expect them to do that. I wouldn't pressure them into saying it but once they have said it, I won't allow them to carry on because they feel like it
Teaching them that their feelings are important but they aren't more important than everyone else's and sometimes they need to put someone else's feelings first
Sometimes there are genuine mental health issues at play but parents need to be the judge of when that's the case and I don't subscribe to the "do whatever you feel like because not feeling perfectly happy at every moment is negative for your mental health" view