The vast majority of volunteering courses are little more than pre-packaged self-esteems boosts for those involved. The focus is mostly on the enjoyment of the individuals involved, not the actual help of others. It's profit-motivated and as has already been said often takes money from the local economy, as well as not giving local workers a job who would likely be more experienced, in need of the money, and will be happier to work for their own community.
In reality, for effective volunteering, you need to be somewhere for a long period of time, have a lot of skills and experience that can be used productively and work hard. Foreign long-term and effective charity work often involves administration, organisation and sitting in front of a computer for the majority of the day. Often it's in grief struck places, where natural disasters have meant it's impossible for those countries to cope alone. It can be tough, but it's also very rewarding.
Volunteer courses in which you pay thousands to touch and feed elephants and the like aren't helpful. They are little more than a placebo that can often do more harm to communities than good. If you want to volunteer and help in a beneficial way, expect to it to be gritty, tiresome and hard work. Don't ever volunteer for anyone but a charity either and ideally you'll need some skills that can be effectively translated to specific work. Treat it like a job, not a holiday.
Also, do a lot of research into who you are volunteering with. Don't choose someone like Real Gap for the reasons above.
In lots of cases, it's much better, cheaper and more ethical to just go on holiday, instead of the pretence of volunteering.