You do charity shows to get your name out. A lotta corporate bigwigs and rich folks go to the shows. If you're really good, a charity show could end up netting you several corporate gigs.
My experience when it comes to "charity/non-profit" shows is that rich folk will come if it's a big name like Copperfield, and only if they'll be paying big bucks to sit amongst other rich folk. Like $1000/plate dinners.
However, when it comes to your average run-of-the-mill charity events, rich folk send in their donations and that's it. They don't show up to the events. Those events are not for them. There is very little chance that you are going to book any gigs because of doing a charity show. Because most likely your charity is going to attract crowds that otherwise wouldn't be affording to bring their children to a show. Wrong clientelle for you. Private entertainment is for middle to upper class people. Not "Underprivilidged".
Though you will get a name amongst volunteers (there are people that volunteer for a living and will work with multiple organizations) as someone who works for free. This will lead to who knows how many requests for free shows from every non-profit imagineable.
And you are not going to get publicity. Either from the charity, or the media as you are not the star of their event. The charity is. You're just hired/volunteered entertainment.
Watch your local media for these events, and see really how much time is spent talking about the charity enterainers. You'll be lucky if you are even mentioned by name, rather than a "we have a magician here today so come on down!!!". It's not about you, it's about their event.
Even think about grand-opening publicity events. Open till noon. Hotdogs and balloon animals / magician / whatever for the kids. You'll never hear their name.
So if you're going to do charity work, make sure you do it for the right reasons (goodness of your heart), and expect nothing in return.