Let's examine the typical job applicants to see why:
1) Has experience, resume and portfolio.
2) Has no professional experience, but has worked on open source projects and has a nice portfolio.
3) Has no professional experience and hasn't worked on open source. Has a personal portfolio that's pretty basic.
4) Has no experience at all. Has education.
5) Has no experience of eduction.
1 has shown ability to do the work in the past. Will hit the ground running and is generally a good hire.
2 and 3 have shown not only that they know how to program, but they are self-driven and don't need someone to tell them to what to work on. Will also hit the ground running and are often a good hire. 3's sometimes disappoint as they get in over their heads pretty quickly.
4 and 5 have shown no ability or drive. They haven't even attempted to program anything they were specifically told to. There is no chance they will hit the ground running, and it's unlikely that they will have any innate ability.
Why on earth WOULD people hire 4s and 5s?
In short, non-technical professions hire people and train them all the time. Nobody is born knowing how to flip burgers and fry fries at the same time. But technical professions rarely get anywhere hiring anyone that doesn't have experience of some kind.