I love your post, thanks for posting Ben.
I did just want to draw a distinction in relation to your last sentence, however (and I suspect that distinction could be part of the reason this keeps coming up and is such a contentious issue).
At least round here, there are some pubs that call bands, saying they're putting on a 'charity' gig; but very often, the identity of the charity isn't entirely clear, what happens to the proceeds isn't clear, and realistically the only person benefitting from others' charity is the landlord. It's incredibly unscrupulous but happens quite often. My view is that if the organiser can't immediately say a) who the charity is and b) if not the entirety of money made, what proportion of the money is going to charity, then it's probably one of those. I/we turn those down flat.
Conversely, as you say, if it's all above board, and you want to support the charity, you do so by playing. Or not if you don't.