Child labor is widespread in developing countries, but its causes are debatable. Poverty is considered the primary reason, but many theoretical and empirical analyses show that other factors, such as lack of access to credit, poor school quality, and labor market opportunities play equal or even greater roles in the decision to have children work. This study surveys the existing literature and, taking into account urban-rural divides, aims to shed light on the debate with empirical evidence from Nepal, Peru, and Zimbabwe. We find that while poverty drives child work and schooling in rural areas, it does not appear to significantly influence such decisions in urban areas. This suggests that policies such as trade sanctions or a ban on child labor in rural areas could have an adverse effect as child labor decisions in such areas are more likely a response to poverty and subsistence requirements. Similarly, improving access to credit has greater potential\nfor alleviating child labor and enhancing school enrollment in rural than urban areas, particularly in Nepal and Zimbabwe. On the other hand, the availability of alternative childcare options appears to considerably decrease child labor and create conditions for higher school attendance rates in urban than in rural areas. Finally, evidence from all three countries indicates that efforts to bolster adult educational levels and wages will help curb the prevalence and intensity of child labor and improve the likelihood that children stay in school.