You make it sound like what matters most is not actually studying CS but getting a CS degree. Is there something special about getting a degree that would cause a programmer to "never be quite as strong" if they studied CS but not for a degree, for example outside of the traditional college system? Most of the science seems to be freely available, if one is willing to put in the effort needed to learn it without the assistance of a professor.
Yes, there is great quality content available free and online. But it is incredibly rare for some to get a CS level education from it, because it's not something you can easily do part time. Even if you just try to learn the materials from core CS classes I've taken, that's a few textbooks, a few large projects, and a LOT of hours of studying and work. College lets you get that done all at once - if I tried to give myself a "CS education" while having a full time job, I am pretty confident I would have failed. It certainly couldn't come in just a few years.