I think that so many people look at meta reports and think if you are not using these "6" heroes at the top, you are playing the game ineffectively. Which makes people go, "Well I win a ton of games with Genji/McCree. There's obviously a difference between my tier and their tier." It's true that pro teams will min/max heroes, making it seem like Genji is less effective overall (he still is pretty ineffective against triple tank). Where some teams are only running Soldier as their DPS, doesn't mean you have to.
It's also true that at least high-platinum above (I've ran into a few gold teams who ran straight meta and wrecked our shit) where you get team members who know the game, have played the game a decent amount of time, and/or have watched or participated in pro play of the game, teams running a
Rein, Roadhog, D.Va, Ana, Lucio are going to have a much higher probability of winning if you are not running the same thing. These characters are top because there is no way to counter there strategy other than running a close mirror.
For example as a support main, it is never absolutely necessary to use Ana, but in high health pool comps, it greatly increases her effectiveness and it pretty much is necessary to run her in those situations. Mercy is fine to use, especially if someone is insistent on running a Pharah or a crazy Bastion strat, or even on a team running 2 tanks with a McCree or Soldier. Basically any team that isn't tanky and has someone viable to pocket is an okay opportunity to run Mercy. Chances are though, that if the opposing team is running the meta comp, you will have to switch composition or lose the game.