1. Undergraduate degrees: Getting things done, getting in on the ground floor. Needs to be screened rigorously because the high variance of graduates.
2. Masters degrees: Getting things done, but with enough understanding of the landscape on how to make money doing it. Usually pretty good in my experience.
3. PhDs: Getting research done. Are not necessarily good software engineers and need to be screened more rigorously than the Masters holders.
The problem for undergrads is the glut of graduate degrees squeezes out the undergrads, if _only_ for the experience level. With all other things equal, you take the PhD over the Masters over the Undergraduate simply because they are older and have more experience. Recruiters also don't want to have to filter through hundreds of undergrad applicants: it's much easier to trim that off and just look at the Masters/PhD applications instead.
You don't get a graduate degree because _you_ need a graduate degree. You get a graduate degree because _others_ need to see it.