Agreed, but you have to start somewhere. I think one of the things that turns lots of people off from CS education, and programming in general, is how long it takes to get from just starting out to making something cool.
Of course, of course. All I know how to do is web development (besides some Mathematica for research and dicking-around). This isn't like I am standing on top of an intellectual mountain, shouting down at the ignorant masses gathered below, "Stop worshiping your false golden Rails idols".
If I could add a stage though, it would probably be something like "Cluster 5: Why does my website suck?" Sure it's there, it's up on the WWW, but a website made from someone at Cluster 4 isn't something that is going to make you money.
Cluster 5 is when all the CS comes in. You have to learn about algorithms and data structures and regular expressions and what is actually going on behind the scenes. Yes, you can make a website that does the basic simple "of course, here's an exhaustive search" solution to the given problem. But can you make it fast? Or beautiful? Or, heaven forbid, intuitive? Can you fix it after you try and fail to make it the above three? That's the stage that never ends, the one that doesn't take a week of hunkering down with a textbook to get through.
Cluster 5 is the stage that CS education tries to start everybody at without any prior experience. It works for the imaginative people who can make the leaps about why this matters, but for most it just leaves everyone behind. With web programming, you actually have motivation to learn these weird things about patterns of electrons.
Because, honestly, who wants to make websites that suck?
I agree with this entirely, and I fully understand that web development represents a tiny slice of coding generally and that what I've presented is a tiny fraction of what you need to learn to be a good web developer.
I plan to edit the post a little to reflect what people have said. Hope the title wasn't too misleading.