Someone straight out of college with a "real" CS degree will likely know about about algorithms, data structures, compiler theory and so on. Some of those skills are not terribly useful for many entry level programming jobs but some are critical. I'm unlikely to hire an entry-level programmer who doesn't know basic data structures, for example.
For those whose experience is "real world", they might be able to tell you a lot about unit testing or source control but stare at you blankly if you ask them about red-black trees. That might be OK depending upon what their work requires them to do.
I guess most CS/programming skills can be loosely grouped into three areas (if you're prone to categorize).
What would you put in each group and why?