Well, the issue here is, ironically, one I've seen, though in a different fashion, in For Honor (for those that don't know, it's a sort of medieval-esque fighting game in a 3D plane) of all places.
There is no feasible reason to go on the offense or promote offense when a defense is incredibly strong. That game devolved to turtle wars years ago because throwing any attack and getting it parried would result in a crushing punish, and the best defensive characters with the best punishes were just the best characters. All of the possible offenses were reactable and easily countered. And now, the developers are moving towards an offensive game. They've made openers and other attacks incredibly fast and quick, or they go into an insanely difficult mix-up game that force a response. Any other offensive character that lacks these or has weak versions of these is not viable, period. And people are complaining that the offense for some characters is either too much or too garbage. The more defensively designed characters legit have too good of defensive options and are therefore frustrating, or too garbage of ones and unplayable.
In League, when defense and tanks become good, it is often because they possess the offensive capabilities in tandem with their defensive power to simply survive and kill people in a decent pace during their lives. Or, their defense becomes so incredibly powerful that their mediocre or garbage offensive becomes enough to kill the opponent anyway. And tanks also have the issue where, if they're designed to be defensive walls with almost no offense, they have no solitary agency, which means they basically have to stall until their allies arrive. All of these feel incredibly awful in some fashion gameplay wise. So Riot moves away from survival and towards damage, making damage so high that everything dies. Which makes what they're doing with
incredibly frustrating, since they're apparently pushing him as a tank with even less agency than other tanks, what with his ridiculously long cooldowns, mediocre damage, and a passive that cannot be utilized in its current state in this game climate.
I ultimately blame Aftershock and the Resolve tree for a lot of the tank woes, because it inflates their tankiness across the board and therefore causes them to receive scrutiny and nerfs, before the true problem (Aftershock) is nerfed and the champions are left woefully terrible (what I call the Riot Special). The other runes cause this problem on the damage/healing side of things, where the baseline power of a champion is inflated and needs to be considered in tandem with runes for every change. Those that cannot use the runes well end up the losers. Others are unbalanceable because they use the rune system too well
But what ultimately happens is that whatever meta arrives, a group ends up feeling powerless. In tank meta, it's basically everyone but tanks. Whenever it's damage heavy, it's only tanks. Others can die instantly, yes, but they also can kill people. And if they have survival tools, they end up being just enough to prolong their lives to kill an enemy. In shielding/healing strong times, burst mages and assassins feel miserable. Poke suffers as well due to the power to mitigate the damage.
Many people cite inflated, easily accessible CDR as an issue damage wise, but that's only problematic due to the level of damage. If damage was lower, having this much CDR isn't nearly as bad; in fact, it can be interesting, because it forces many won exchanges in a shorter period of time. CDR in this scenario becomes problematic when considering utility, because the utility - whether that be stuns, blinks, dashes, etc. - then must be designed to not be overbearing if it is frequently available. It can also be an issue for burst characters and their itemization, because they now must pick up CDR since their damage might often be inadequate to accomplish their job.
If League could every reach a phase where every class has at least some agency, that would be awesome. But I'm not holding my breath for any progress on that front.