The sole reason in Indian Corporate is the pay for no show. There are numerous candidates who spend a lot on their education with expectations of a good healthy corporate culture and salary. During the job hunt, the variation in the market with respect to a mere thousand bucks matters a lot to them. Because, work pressure is same everywhere, but it is the significance of the salary, what is being paid.
Also, another reason might be shift timing, but however I feel, the imbalance exists and the reason do not just include candidates but the company as well. So at the end, they look for better paying jobs because learning and experience will come in both the less paying jobs as well as jobs with higher pay.
I also believe, if the Indian Corporate and Indian government have a fixed minimum pay structure as per the education, the problem will be solved to quite an extent. In this way, no one will be underpaid. For example, I have personally referred people with MBA qualifications for a 12k per month job as well 40k. It is the urgency and need of the employee to join at 12k because they do not wish to lag behind with zero experience, so they settle for 12k in order to gain experience. Thus, it is not only the employee’s fault for no show, but both the employer and employee should be satisfied with the job description and pay that comes along with it.