I was talking about education system, it is not application based but theory based. More importance is given to marks than understanding... which leads to bad programmers. As i stay in Bangalore(it is a outsourcing hub), i can surely tell the situation here.
There are surely exceptions, you can find tons of great programmers in India who contribute a lot to FOSS, but the other question is "Are these people working in Outsourcing Consultancies"? I guess not.
And as far not giving your best (or getting the best) when you are working for $5 an hour (its great we have currency exchange rates!), is also not true as well. I know plenty of people who give/gave their best, just because they liked it. I love programming and believe i churned out good stuff, when i was earning that much. And there are plenty of others like me.
Understand, we are talking as a whole, there are always exceptions. There are many people like you, who like what they do but most of them are here only because of the money, that is the reason there is so high attrition rate in consulting firms. I can give you tons of reasons but i don't have time. Time spent giving you answers is inversely proportional to lines of codes written. ;)