“It appears to me that software development is happening in industry, not in the universities.”
This is like saying that cars aren’t built by the materials science people. Damn right they aren’t.
Universities have a focus on research. The industry has a focus on producing products. The fundamental fault people make is thinking that a university education is preparation for work. It isn’t, and it can’t. In order to expose a student to all things in a software development company, it would have to be one.
What a university can do is allow you to widen your horizons. You will explore many areas of computer science - different languages, paradigms, and aspects of computers.
Many (but not all) of those who go straight to work end up with a narrower view of programming. For example, if they get a job as a PHP coder, then they will never ever learn anything except PHP, and when PHP is “out” and something else is “in”, well, they’re out of a job. (In the same way, many navel-gazing researchers forget that the wonderful new thing they have invented can’t be built in practice.)
Universities can provide you with breadth. They can keep you from being stuck in one small part of the programming world, and will let you see what may come out of the labs. That’s why you should stay in touch with the CS research community even after you’ve graduated.
Remember, the samurai who fought with swords were eventually slaughtered by the ones who got guns.
University = research
Software development company = commerce
Battlefield = you, commerce, research, social skills, coding, balancing work and free time, your family, life itself, …