Depends on the job and the person's experience, to answer the primary question.
There are plenty of programmers who got into web technologies and IT when you didn't really need a bachelor's degree in CS or engineering. Some have certifications to back it up, some simply have their resumes. To me, a degree is just another piece of paper that serves the same role as certs - it shows a certain level of achievement, ability and knowledge with a given technology or field, and should be taken on that level.
All that said, certainly when I'm helping with hiring decisions at my firm, I prefer to find people with some background in logic and math... but by and large, I look more at their experience than their educational credentials. (For example - I think only two of the five programmers in my department have degree work in computer science or engineering. And I am not one of those two. But I think that all of us are certainly more-than-competant programmers.)
As for the "you won't get too far if you're just a code slinger", I think it depends on what your ambitions are in the field. I've been an executive previously - I was the director of programming for a multinational corporation - and found that I was infinitely happier back behind a desk working on code rather than managing a department. Could be just me, but I think that "going far" is in the eye of the beholder.
Theodore Jonathan Casser
SCJP/SCSNI/SCBCD/SCWCD/SCDJWS/SCMAD/SCEA/MCTS/MCPD... and so many more letters than you can shake a stick at!