It has become common wisdom in hiring that firms would rather leave a position unfilled than recruit someone who didn't fit the job requirements. A new hire must hit the ground running so-to-speak and therefore he should not expect much handholding on the part of the employer. So, if you are not a perfect match and can't already do everything stated in the job description, don't expect to get a call back.
I wonder why this move away from on-the-job training has taken place. It used to be that firms would accept a wider range of applicants after screening for basic intelligence, competence, and ability. They would take their new recruits and train them for upwards of several months. After successfully completing the training, the new employees would be ready to take their place alongside their fellow co-workers. This training not only produced better employees, it also engendered more loyalty as workers could see the firm invest time and money into them and would reciprocate with their work effort.
Now, it seems like most firms give new employees at most a few days to become acclimated with them and most of that time involves processing employment paperwork for the new worker. Since, the worker cannot expect to be trained by the firm in any meaningful way, one shouldn't expect much loyalty from him should a better opportunity arise.
One reason given as to why firms have reduced their training is because they fear that after investing in the worker, he might just bolt to a competitor which may reward him with better pay because it didn't have to budget for training. However, to take that POV, you must assume that workers are only satisfied by more money, when there are multiple factors that workers take into consideration when deciding on where to work, including how the firm treats them initially.