Q:

Why is CS never a topic of conversation of the layman?

Granted, every profession has it's technicalities.  If you are an MD, you better know the anatomy of the human body, and if you are astronomer, you better know your calculus.  Yet, you don't have to know these more advance topics to know that smoking might give you lung cancer because of carcinogens or the moon revolves around the earth because of gravity (thank you Discovery Channel). There's sort of a common knowledge (at least in more developed countries) of these more advanced topics.
With that said, why are things like recursive descent parsing, BNF, or Turing machines hardly ever mentioned outsided 3000 or 4000 level classes in a university setting or between colleagues?  Even back in my days before college in my pursuit of knowledge on how computers work, these very important topics (IMHO) never seem to get the light of day. Many different sources and sites go into "What is a processor?" or "What is RAM?", or "What is an OS?". You might get lucky and discover something about programming languages and how they play a role in how applications are created, but nothing about the tools for creating the language itself.  To extend this idea, Dennis Ritchie died shortly after Steve Jobs, yet Dennis Ritchie got very little press compared to Steve Jobs.  
So, the heart of my question:  Does the public in general not care to hear about computer science topics that make the technology in their lives work, or does the computer science community not lend itself to the general public to close the knowledge gap? Am I wrong to think the general public has the same thirst for knowledge on how things work as I do? Please consider the question carefully before answering or vote closing please. 

A:

Does the public in general not care to hear about computer science
  topics that make the technology in their lives work, or does the
  computer science community not lend itself to the general public to
  close the knowledge gap?

In short, no and no.
Knowledge specialization in modern society exists to such a degree that not only do most people not care about the concepts you mention, but it doesn't really make any sense for them to.  As people who understand these things, it may seem odd to us that others don't and odder still that they don't want to, but to what level of detail do we understand other professions?
Can programmers cite passages from the tax code by rote?  Can we explain the specific mechanics of how our cars' engines work?  Can we diagram up our houses' electrical systems?  Do we know the names of all of the chambers of our heart?  For some, the answer to these things may be "yes", but that's going to be the exception rather than the rule.  And, what's more, is there some specific reason we should care about the answer to these questions and dozens more?  After all, this is why we pay accountants, mechanics, electricians and doctors respectively.
The reason I rehash here what you covered in the first paragraph of your question is to emphasize matters of degrees.  A given programmer may care about the subject of taxes deeply as a matter of self interest.  It certainly affects him or her.  But there is a level of abstraction at which "I get a discount for owning a home" is sufficient without understanding all the provisions and history of the mortgage interest deduction.
The average consumer needs to know about RAM and processor because those impact them in the pocketbook and in the user experience.  Knowing how Turing machines work provides no actual benefit other than the aesthetic one relating to satisfaction in knowledge for most people.  If layperson doesn't understand what RAM is, he will potentially get ripped off by a salesman at Best Buy and have a bad user experience.  If he doesn't know some abstract concept, he'll still get his computer, his apps will still work, and he'll still be able to navigate with his GPS.

A:

People talk about computers and computer science-y things all the time, and in general they do it at about the same level of sophistication as they talk about biology, physics, etc. Most people have some idea about concepts like Moore's Law, clock speeds, gigabytes, megapixels, and algorithms just as they know something about DNA, proteins, "good" and "bad" cholesterol, and so on. If you say "recursive descent parser" even to many programmers, it's about the same as saying "mitochondrial transcription factors TFAM and TFB2M": not something most people are likely to know much about.

A:

You have two very different things.  You have academia and you have industry.  Computer science is an academic pursuit.  It's math and algorithm based.  Then you have industry.  Industry is application based.  One is theoretical the other is practical.  The public cares more about the practical, because that's what they use.  The browser, the applications, etc.  The computer science details are abstracted away (as they should be).

