In HL running certain classes means that other classes are more justified. For example, running spy all the time is a bad idea, no matter how you look at it, the most effective spy is when the other team is not aware you have one. Having a spy all the time makes him less effective, since the other team will spy check more, check their backs more and defend their combo/sentry better. It is self-defeating in every way.
But what it does do is help justify the perma-pyro, since the other team is always running a spy, a pyro can be justified all the time, instead of the situational needs.
There is also less focus on speed in HL, partly due to map choices and partly to do with the number of players, so once you take out that factor the other classes most glaring weakness tends to not matter as much.
I don't think that anyone is claiming that those classes are useless...