Why? Because even if you are a good candidate, hiring is not as easy as people think.
Among the many challengues we have I can list the following:
1. The people interested in your profile have minimal influence in the process,
2. There are people who are always chasing for the shiny new object (or person, in this case),
3. There is a sea of resumes in our hands, and we pick the best, but they want the world and lose them during negotiations, and the ones at the bottom of the list who really want the job, move on because the process to get to them takes too long (several months),
4. People over estimate their qualifications. Their abilities may be good, but they write over the top accomplishments in their resumes that are hard to believe, at least without proof, and they are the first ones to get rejected,
5. HR interferes too much in the process. They sometimes change the job requirements, sometimes ignore candidates that we explicitely tell them to follow up with, sometimes extend meaningless offers just to keep potentially good candidates in the hook (people with offers at other Big Co.), sometimes force candidates to accept offers without a signed paper, so on and so forth. Obviously, good candidates get fed up with this and decline/renege the offer, we lose them, and the people below them too because the negotiation took too long (3-5 months),
6. I really want to hire motivated individuals, and I know many people like me across different teams, but we lose motivation over time because of all the roadblocks, and the cycle(s) described above repeats.
The whole process is kind of silly. I have reviewed hundreds of resume from people who are doing amazing work at other companies, but we reject them for very small things. Only two of approximately 20 referrals got an offer, and I am 100% sure that all of those referrals are as good or better than me (facepalm).