Resistances do work fine. In fact, there is less penetration nowadays than in the old seasons, when tanks reigned supreme.
Let's compare Season 5 and Season 9, in the anti-armor department:
Season 5:
/ old
: 40 AD, 40% Total ArPen - for 2300 gold
: 6 stacks a 5% each, for a total of 30% Armor Reduction
- Masteries: 6% Total ArPen, multiplicatively stacking
- Total: 0.7 x 0.6 x 0.94 = 0.3948, or 39.48% Armor remaining.
Season 9:
: 45 AD, 35% Total ArPen - for 2800 gold
: 6 stack a 4% each, total 24% Armor Reduction
- Masteries Reforged: No passive ArPen left. Conqueror gives 6% conversion to true damage.
- Total: 0.76 x 0.65 = 0.494, or 49.4% Armor remaining.
Comparing the two seasons, tanks nowadays have almost 25% more Armor after penetration than in Season 5.
What about MR?
Season 5:
: 80 AP, 35% total MPen
: 15 MPen
: Far less common, especially before Liandry's buff in 5.13
- No on-hit %-penetration item.
- Total: 65% - 15 MR remaining.
Season 9:
: 70 AP, 40% total MPen
: 18 MPen
: Virtually every mage builds this.
: 15% total MPen on on-hit builds.
- Total: 60% - 18/33 MR remaining.
Here, we are getting somewhere. Anti-MR tools are quite a bit stronger these days.
However, this still does not paint the whole picture. Resistances have always been multiplicative stats, and thus dependent on the primary stat they amplify - Health.
And over the last few seasons, Riot absolutely gutted tanks' access to health and even pseudo-health effects:
- Tank items were shifted from health towards resistances, as tank items are supposed to be more stat-bound to resistances (in contrast to Juggernaut and Fighter items, which are more focused towards Health). A good idea in isolation, fatal in combination with everything else.
/
went from 25% bonus health to 15% bonus health.
- The loss of Health-per-level runes (216 HP@18).
- Overgrowth was changed from a %-based increase (0.2% per 8 minions) to a flat increase (3 per 8 minions + 3.5% after a threshould value).
: Tanks used this item to share part of their damage dealer's in-fight sustain, which was imo a good thing (rewarding teamwork and coordinated fights). The item was nerfed (mainly for its other effect of making the bonded partner less killable).
- Aftershock replaced Courage of the Colossus. This is another big one, imo. With tank itemization already focused towards more resistances than health, Courage's shield was a godsend for tanks' ability to, you know, tank stuff. Replacing the shield with additional resistances is way less optimal for tanks, since they already have a lot of those.
Conversely, Juggernauts and Fighters, with their Health-focused itemization, and other classes with access to lots of pseudo-health abused the hell out of Aftershock.
Moreover, the game changed around tanks and their items, as well. Game pace accelerated (making first item spikes more important), non-tank first items became easier to itemize into, more well-rounded or play simply a lot stronger, and Keystone runes favour active instead of reactive play. Again, most of these things are good ideas in isolation, but have fatal effects if only part of the game systems are really changed around their fallout.