Q cleanses slows once, if you get hit by another slow after you cleanse the first you're fucked. A Garen who can't reach his target is a useless Garen, slows fuck with his kit hard.
Garen gains 0.25 armor and MR on minions kill with his W passive meaning he needs constant farming to get max stacks.
The burst of tenacity is only active for the first 0.75 seconds after the activation, which means you need good reflexes to rush someone, mitigate any incoming CC and go for the kill/initiation. The burst of defense is also only during that window, and it's meant to bait people's strongest attacks for initiation.
His E may be AoE but that leaves him vulnerable while he spins, only does augmented damage when there's no one (minions included) near your target. The unit collision thing is only to help his trading power because minions can easily block you while you spin, too. The armor shred is to give some utility to an already risky move.
The Villain can't be chosed freely, its decided based on the most/latest kill, and that is often the ADC, who is in the opposite side of the map and that can change at any time mid fight, and fuck you if you don't like it because this is Riot.
His ult is a joke unless you're a tank, the base damage is pitiful and only gets a bit stronger based on missing total HP, if you're squishy you're harder to kill unless you're the villain. The R can be easily blocked by flashing to a bush before the initial animations ends, by using cancer clock or simply by killing Garen before the starting animations ends. You find yourself often unable to execute people because of its long animation.
It's always funny to see people calling Garen a braindead champ with no mechanics, and has a super easy time winning by just existing. Garen has no agency on team fights, is incredibly flash dependant and he is only semi reliable as a split pusher. You have no anti kite tools, too and anyone with a slight dash can easily outrun you. Have fun.