Clients shouldn't have to understand the systems they use.
Let me qualify that statement before people take it terribly the wrong way. I've found increasingly that people are being sold systems as appose to solutions. Now there is nothing wrong with this as such but when a non-technical client asks you if they can have an online shop, a key part of the role of the web designer/deveopler is to understand their needs.
Most clients in my experience don't buy systems, they buy solutions. When approaching a client, they may have an idea of what they want and ask for specifically that. The problem comes later down the line where they then realise "how are we going to do this" or "but we need this" and the whole system comes to comprimises over a fairly large points sometimes.
In my opinion, its the web developers job to go into the situation and first learn what the client wants out of the situation instead of instantly prescribing something like a homeopathic doctor. If you are a Drupal (brand of CMS) specialist, thats great - but keep an open mind to the fact that your client doesn't know what Drupal may be and that it may not be suitable or cost effective to use this solution.
All I'm saying is (I'm looking at you DNN and Drupal guys) dont just prescribe what is easiest or most convenient for you, take some time to really understand the clients goals and future plans and by developing a solution that works for them, they will make sure you are in their future roadmap