That is true for India too. If one does not make top ranks to get into IITs, NITs or any other government subsidized college, they are forced to attend lower tier private institutions (Yeah, in India private colleges are at lower end) which cost at least 5-10x more than IITs.
They are definetly cheaper due to govt. subsidy, but apart from IIT's and a few NIT's they aren't much different from private counterparts.
Remember that in India universities are not judged by the quality of their research, but solely on the "success" of their alumni. Since govt. colleges are cheaper, even though they might not be good, they do attract smart students. One thing that the Indian govt. did do right was to have a highly meritocratic system of admission, although that has recently suffered many setbacks