I think there are many talented and smart developers in India (as anywhere else). The biggest issue is that they mostly want to work for very large companies (prestige), they are in a hurry to be promoted to managers (many are not good at managing anything but it's all about the title) and thus good developers become weak managers. This depletes the software developer pool so they have to hire people less and less qualified to do the coding.
Another is that there are a lot of "software consulting" companies that handle outsourced work, they tend to have some good developers and a lot of "junior" developers, so when they sell themselves to a customer they can say they have a staff of 100 developers ready to go. This is compounded with the problem of developers trying to get promoted into management (again, title and status are very important to people).
I am not sure if 95% is an accurate number (seems a bit high), but the problem exists nevertheless.
I have read that a lot has to do with sociological issue of being used to a caste system, and while it's not as prevalent as it used to be, rank and status are very important. While this is also true in many other countries (I have worked with many Eastern European and Far East companies), India remains as the place where every developer seems to be looking for a promotion. Some companies placate the developers by giving them over-inflated titles like chief architect or senior staff engineer; but in a company with dozens of chief architects the title no longer has a significant meaning.
Anecdotal evidence: I worked with a developer who was young and his mom kept emailing him to get promoted to a manager so that when she went looking for a wife she could pick from a nicer "deck" because he was a manager ( a deck of pictures/bios is how moms and matchmakers and astrologists get together to determine who gets to marry whom, it's very complicated from what I have seen). I thought it was funny, but he was very serious that the "quality" of a wife his mom could get depended a lot on where he worked and what his title was. At one point he lobbied to get a temporary title and we put him on a short term support project where he was handling issues for one single customer and had a temporary title of a "Senior Customer Manager". He was married within 3 months.