The thing about Fairy is that it doesn't need to actually BEAT the Dragons. Its mere existence deters the use of Dragon type moves, which effectively cripples them without even having to take them on 1v1. Think of it like any other immunity. If you're running Banded Terrakion and see Jellicent on the opponent's team, you will be less likely to use Close Combat because locking yourself into a move that can be switched in on for free causes you to lose serious momentum, and puts you in a bad spot. The same can be said of the relationship between Dragons and Fairies. If you have a Scarf Salamence on your team, and you notice a Mega Mawile on the opponent's side, then you will be MUCH less likely to click Outrage for fear that you might be forced to switch out as Mawile hits something else on your team hard. So you will more likely choose a coverage move, but this is an equally poor choice, as coverage moves tend to be weaker either because they are unSTABed (Earthquake in Salamence's case) or rely on an uninvested attacking stat (Fire Blast). These can easily be taken advantage of by the rest of the opponent's team. Obviously you could predict correctly and nail the Mawile on the switch, but the big picture is that Fairies are playing INSANE mindgames with Pokémon that used to be notorious for brainless spamming. As I said in the beginning of the post, the very existence of Fairies balance out Dragons.