If you ask me, there wasn't just a single thing that was the main reason most classes/specs feel awful right now. In my opinion, it was a combination of things, namely:
1. Oversimplification of classes/specs. Blizzard has even admitted at this point that they've gone too far oversimplifying classes/specs; Taking away abilities/passives, making current abilities/passives too simple and uninspired, etc.
2. Addition of the artifact system. This system has seemingly taken the place of talents from level 100 onwards, though at this point it only kicks in at 110+. This system taking the place of talents for an entire 20 levels at this point is harmful to the long-term stability of class/spec design, as it forces people to become used to a swathe of passives/abilities that get taken away two years later.
3. Refusal to listen to feedback. The BFA alpha and beta were clear signs that, at that point in time, Blizzard no longer saw player feedback as important to listen to or act upon (even in the case of bug reports, at times). A game's players are one of the most important aspects of a game due to their ability to keep a game active, and Blizzard refused to listen to their players' feedback on the way they were designing classes/specs, among other things.
4. Shifting the game towards e-sports. This is an issue when it comes to class design (at least in my opinion) because it introduces balance (or at least is supposed to) while sacrificing interesting and fun gameplay, for the sake of ensuring that the game's ability to function as an e-sport stays intact. When it was just PvP that made up WoW's e-sports scene, this was an issue to a lesser degree, but now that they have the M+ invitational as well, it's become more apparent that classes/specs have suffered in the transition from an MMO to an e-sports MMO.
5. Removal of tier sets. This may seem minor at first, as tier set bonuses weren't baseline in the first place, but having those set bonuses diversified class/spec design and strengthened classes/specs as a whole. No longer having them was just another step towards homogenization among all specs of each role, which leads into my last point...
6. Homogenization of classes/specs. This has become a thing for multiple reasons, of which the e-sports thing was one of. They've moved away from having each spec be unique and have it's own niche to fill, and towards having all specs within a role essentially do the same thing, with mostly just numbers being different. Homogenization of classes/specs leads to a situation where classes/specs are no longer unique and interesting to play because they all do basically the same thing.
There may be other things I didn't think of that've contributed to the current situation we have for classes/specs, but those are the most major things I could think of at the moment.