Mega Mawile is incredibly broken, arguably the most broken Pokemon since Mega Lucario. Mega Mawile has everything it needs. Huge Power, along with its Attack makes it extremly powerful, it has the best attack in the game, reaching a base 259 Attack. Its typing is one of, if not the best one, both offensively and defensively, giving it lots of key resistances, immunities, especially to the common dragon type and has great coverage, therefore setting up is really easy. It's not even dead-weight before mega evolving thanks to its typing and great ability in Intimidate. On top of that, it gets lots of options in its movepool, it has 2 quite powerful STABs in Play Rough and Iron Head, Knok Off, Focus Punch, Sucker Punch(that makes up for its low speed), Fire Fang. All these traits combined make Mawile reallyhard to deal with.
Simply put, Mawile is a nuke due to its ridiculous attack and few things can actually switch in. Only Landorus-T, Bulky Charizard, Moltres and Talonflame can, the former being able to switch on only once due to its lack of recovery while the latter can only switch in assuming SR aren't up. Other answers are definitely not reliable enough against Mawile. Focus Punch and Fire Fang destroy Steel-types such as Skarmory, Ferrothorn, Mega Scizor and Heatran(which can't take a +2 Sucker Punch, making it an unreliable check) and they don't appreciate Knock Off overall. Venusaur is destroyed by SD + Iron Head and loses to fast versions. Victini dies to Knock Off on the switch and struggle against the SubPunch set. Amoonguss loses to every last move on the SD set. Quagsire seems like a great way to deal with Mega Mawile de to Unaware but it gets 2HKO by Play Rough and can't even OHKO with Earthquake. Really, nothing is safe from switching on Mega Mawile. While it can't run every moves at once, being able to bypassing its checks is one of the thing that makes Mega Mawile so broken because you have to scout the set before switching on. Also, you should keep in mind that Mawile can really easily overwhelm its "checks". Skarmory and Ferrothorn can't really take well +2 Knock Off and can't really do much back(except for a potential Thunder Wave on the latter). Heatran is 2HKOed by Knock Off making it a shaky check overall. Defensive Venusaur can't really do something back so it can even lose to non-Iron Head versions while offensive version can't take +2 Play rough + Sucker Punch. Really, nothing can swith on Mega Mawile without fear.
Moreover, Mawile has 3 other important things, the ability to easily come, a powerful priority in Sucker Punch and the fact that t doesn't require support. Using its fantastic typing, great bulk and Intimidate before Mega-evolving coming and setting up is incredibly easy. Mawile can easily set up on common threats such as Lati@s, non-CB Azumarill, as well as choice locked Dragon such as CB Nite and ScarfChomp. Having a powerful priority move in Sucker Punch(it's almost nearly as strong as Black Glasses Bisharp's so far from weak) is what makes Mawile so efficient against Offensive teams as it's really hard to revenge kill, being strong enough to even OHKO bulky mons like Garchomp after a Swords Dance boost. This means that you need a dark resist in order to revenge kill it. Lastly, unlike most other Pokemon Mawile doesn't really require support. It doesn't require something to sweep/wallbreak, it can do everything by itself. It's just does so much at once, it's a sweeper that is also an incredible wallbreaker and is extremly low risk/high reward
Offense are most of the time incredibly weak to Mawile. There are really few checks, basically offensive wisp heatran, Landorus-T and Mega Scizor (only for non-Fire Fang versions and SubPunch) and that's it. This means that once Mawile comes, 80% of the time, it will do a kill. +2 Sucker Punch is also extremly threatening as it OHKOes everything on Offense apart from Keldeo, Terrakion(both need Specs and Band respectively as they can't OHKO otherwise) and Greninja(OHKO 45% of the time after SR so if it already came, it's out). The worst is that these threats can't even switch on, they are all OHKO by Play Rough so they are taking risks by trying to switch on Swords Dance if you don't want to sac something. Mawile can of course be defeated, but most of the time, to do so, you'll have to make several sacrifices, leaving your team open to Mawile's partners and often you'll have to rely on the ever annoying 50/50.
While Mawile isn't the most threatening Pokemon to Balanced and Stall teams, they are still somewhat weak to it. Setting up Swords Dance against these teams is incredibly easy as they aren't really threatening. As stated above, most Mawile's checks aren't really reliable so you can't really rely on things like Skarmory, Venusaur, Landorus-T, Amoonguss and Quagsire to beat Mawile. You basically have to run obsure Pokemon just in order to deal with Mawile. Defensive Heatran with Will-o-Wisp is used soletly for Mawile as it would otherwise use Toxic which is by far superior. Defensive Zard Y is a cool check but it wouldn't really be used without Mawile. Moltres takes on Mawile pretty well but like Charizard is weak to SR and a niche mon overall. Victini can be used but it wouldn't be used in Stall otherwise. You still can win without having to run these obscure mons but it's incredibly unreliable and you'll most-likely have to make sacrifices. Really, if stall wants to beat Mawile in a reliable way, they have to run subpar options that wouldn't be used if Mawile wasn't in the tier, showing how unhealthy it is.
So, yes Mega Mawile is incredibly broken, it has many traits that make it broken, it has an amazing typing, great defensive stats and Intimidate to set up/come easily, from there it can start crushing teams with its incredible base 259 Attack and Swords Dance. It's even really hard to revenge kill because of Sucker Punch. All these things make MAwile incredibly consistent against both offensive and defensive teams alike. On top of that, it forces 50/50 and due to how threatening it is, losing the 50/50 often means losing the game. BAN Mawile, it's that broken.