Donating your time to charity - it is just waste of your own time in the delusion that you are being helpful to society. It is no different from burning stacks of cash in front of the eyes of poor starving people. It might give you a lot of pleasure but it is of no use to them.
I would rather that you spent your time in what you are good at rather than delude yourself that you are helping a charitable cause by volunteering for menial $8/hour labour. If you want to spend a day in the soup kitchen say that you are doing it for your own selfish reason, rather than bragging about volunteerism. You are contributing exactly $64 to the charity by 8 hours of minimal wage labour dispensing soup. Meanwhile, I'll be donating a day's worth of my pay and making a far greater difference to the charity. My sense of accomplishment will be 100x that of yours.
Similarly, running a marathon for a cause - I refuse to subsidise someone who wants me to pay for him to waste his time running - instead he could easily have worked the extra 10 hours a week for 25 weeks and donated the 250 hours of pay to a charity. This would FAR exceed what he might raise in a lifetime of "running for a cause".
Of course I am talking of highly paid professionals here. For a burger flipper at MacDonalds, it is probably a better use of their time running to raise money for cancer than to flip more burgers.