Besides infrastructure issues, selection of players is the single major reason in my opinion.
Our section process doesn't follow any particular method and stick with that. We often say one thing and do another thing. This is sending confusing signal to the players as well as to the fans. There is no clear cut performance measurement controls set in advance and enforcement of accountability among selectors, coaches and players.
We hand pick young ill prepared players too early based on no clear criteria, and then don't have the guts to stick with him long enough to give him a fair chance and dump him too quickly. They use one set of arbitrary rules to prevent one set of young players to advance to the national team, then next day bend their one rule and hand pick some other young players.
We pick old rejects too quickly even though they didn't do anything significant to warrant a comeback, whereas there are other rejects they were ignored based elevated arbitrary requirement. Again sending confusing message.
We dump dome young players too early without giving them enough chance to prove one way or another, where we we keep some players almost forever without disciplining them at all. We expect from some young player too early too much and get impatient if they fail to adjust to team's need whereas we try to accommodate some few players' inflexibility by changing batting order too often and risking destabilizing other player's performance as if team need to sacrifice to revive fading superstar's need. Again we are sending wrong signal there.
And the sad part of it is some confused fans promote and demand this kind of moves.
"Yeh kya kar diya"