As with any country or society, a major factor for high birth rates is the lack of education and access to birth control that can lead to reliable pregnancy prevention. In most poor countries this leads to rapid population growth in societies least able to handle it. But there are cultural reasons also, as Indian society simply values family and children, and there is a long tradition of having many kids. As India's middle class grows, there are more people having less children, but the birth rate remains high in agricultural communities outside the major cities, as more children means more laborers for the family.
For a long long time, Indian family system has been very traditional and unified.Only in the last couple of decades, things are showing some changes. At the back of Indian families being big and having large number of children, you may find the following reasons:
1) traditionally agriculture-based society, and more hands are required to work in the fields and at home;
2) lack of education>lack of awareness in family planning>lack of motivation in using cotraception;
3) families being run by patriarchs, women don't have freedom to exercise choice in the matter of child-birth;
4) prevailing preference for a boy rather than a girl-child, may also be a reason of giving birth to more children if the first issue happens to be a girl;
5) long-cherished cultural values associated with family love and relationships may be a good reason as well.
On the whole, old, agriculture-based, not-so-modernised, male-dominated societies like the Indian society do tend to have families with a large number of children.