Mobility (or ability to reduce other's mobility), durability, and damage need to be balanced in a champ. If it's going to be top tier in one or two, the other(s) must be equally under-par to compensate; just like mario kart. You can choose a kart with extra speed, but you must then sacrifice some steering or acceleration in order to get that. The same should be applied in league. It used to be applied somewhat decently, but it isn't anymore with reworks and new champs.
Also, there's this idea of base damage/durability and linear scaling vs multiplicative or even exponential scaling and how easily such functions are accessed. Ex: garen has multiplicative or exponential scaling on more abilities/passives than almost any other toplaner: passive hp regen, w dmg reduction, e armor shred, and ult. Darius has such scaling on his q healing and his e armor pen. Renekton has it on empowered e... 2nd proc (dice)... which is both clunky to use and rarely used.
There is too much multiplicative or exponential scaling being given to champs in addition to them having too much of mobility, damage, and durability... causing them to have pro's that outweigh their cons more than ever before and to the point that they have maybe 1 con which is only exploitable for about a 5 min window at a very specific point and time in the game or extremely situational and easily plastered over by their team comp to the point that there is literally nothing you can do to exploit them or punish them compared to the majority of champs in the game.
What's more fun that watching one champ become nigh invincible and 1v5 the enemy team while their teammates just braindead tank, shield and engage or peel for them while having no ability to make game-changing picks or damage themselves? Watching a 5v5 where every single person can have meaningful impact on the teamfight. Where you don't see one side disengage or auto-lose simply because a particular member of their team died first in the fight. Where everyone's kit has to be respected. Where a support can not feel bad about using a shield or heal on someone other than their adc once in awhile. Where a bruiser isn't just there to soak damage and try to run out before they get nuked by the enemy team, but instead combo's with their jg or midlaner to nuke an enemy carry. Where an adc doesn't get to walk up to a mage and force the mage to run away. Where an assassin doesn't have to snowball hard in the first 15 min or become irrelevant in teamfights. Where an adc can win through true outplay and kiting with the help of a support and tank's peeling instead of either being 1-shot to open the fight or be untouchable because they survived being 1-shot and now can never be reached and bursted down again for the duration of that fight. It may be old fashioned, but that's the type of league teamfight I like to watch. And it's becoming more and more rare. LPL was the only major region that would kinda still have that playstyle in recent seasons on a consistent basis. And then there were the emerging regions that you'd see at world's play-ins. They were the most fun games to watch in general - you could even hear it in caster voices although they'd never say so openly. The games where it was intense 5v5 action, skirmishes, and crazy jg invades or 1v1's under someone's tower. Not some boring chess match where one team advances and another just auto-concedes in that area to maybe advance in a different spot (on the map).