Let me tell you how a CS student prepares for exam,
Variables is 20 marks, Pointers are 50 marks and Arrays are 40 marks, Lets just study Pointers and Arrays(you get the point right).
This is pretty much the case everywhere in India.
Not sure how many CS students you know, and how many of them actually studied the way you mention. But to extend that to "pretty much" everyone is going a bit too far.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.
So does that "pretty much" means, everyone does great work, no it doesn't.