Experience trumps a degree, but for someone without experience a degree at least shows that they can stick at it to the end, and are at least capable of learning.
I would say that the main benefit of a degree (at least a science degree of any sort, which is what I have experience in), is that it teaches you how to find things out -- how to use a library (or the internet) and assemble knowledge from multiple sources into a unified whole. I would expect someone with a degree to be able to 'go away and learn about OOP', rather than to have OOP skills.
I wouldn't target computer science students for a programmer's job, I would target any one with a science degree. I also wouldn't expect a new graduate to 'hit the ground running' in any job role, because I don't think that's what a degree is for, that's what experience is for.