In my very limited experience as an educator (I worked as a teacher for two years at the trade school level), I completely agree with your excellent comment.
I would argue that sometimes students are right when they complaint about a subject being useless or obsolete (e.g. our network professor told us everything about the OSI protocol stack in great detail, and barely touched TCP/IP), but most of the time they don't know what will be useful later in life.
Yeah I mean, I can come up with 1000 lessons that would be utterly usless to 999 out of 1000 students in practise — but that wouldn't stop me from teaching those 1000 lessons in a way that really hooks those students to the topics discussed.
On the flipside you can take the most essential, practical and important topic and deliver it with such dullness that everybody falls asleep.
The first step in teaching (IMO) is to make people interested to hear what is being said. If your subject is useless and boring to most people you have to find a way to make it useful and interesting to them. This requires rethorical and social skills, good presentation skills and a deep understandingnand interest for the subjects to be thought.
In reality most subjects have interesting bits, but is the task of the teacher to make them relate to the world. If your prof thougth you about the OSI protocol stack so long everybody forgot its practical applications and how it binds together with higher level stuff, that is certainly knowledge, but it doesn't help you making it part of your understanding of the world.
I would argue that sometimes students are right when they complaint about a subject being useless or obsolete (e.g. our network professor told us everything about the OSI protocol stack in great detail, and barely touched TCP/IP), but most of the time they don't know what will be useful later in life.