I actually went back through my school notes and looked through all of the CS classes I took to see how many of those courses turned out to not be useful to me at some point in my career. The answer is "Natural Language Processing" and maybe some of the algorithms courses (although interestingly enough, not Advanced Algorithms [1]). Admittedly, this is probably partially due to working in compilers--which ends up being at the intersection of a lot of different fields--but I've still found reasons to apply learnings from ML, information visualization, or cryptography in my work.
So even if I would have been a good programmer without going to university, it's definitely the case that the CS degree has given me even more knowledge to become a better programmer.
[1] I've had to use Chernoff bounds once to bound a probability distribution.
I wrote out code on paper in one class. Other than that, every single CS course was project-based on some level (even the theory courses) and once you got past the theory-heavy Sophomore-level courses most classes were 100% project-based. In the required classes alone I built web apps, android apps, interpreters, DNS clients and servers, static analysis tools, and dozens of other practical/educational projects in C, C++, Java, Python, and JavaScript. We finished off the program with a capstone project, working on a year-long real-world project sponsored by a local company.
Point being: which school you went to seems to make a big difference in your perception of the value of a degree, and some schools' diplomas will have higher signal-to-noise ratio on a resume than others.
From what I've observed, the main difference seems to be that we were writing code to apply the theory in every single course, where it sounds like a lot of people didn't touch a keyboard during those classes.