Mcree’s bad matchups are just dealing with multiple targets upclose since he can only take down one at a time and otherwise can’t escape. Otherwise he’s solid and amazing if positioned correctly. Mccree did take a nerf recently though with his fan now having much more recovery recovery still can be canceled the same as old, traded for a buff to his stun
Winston I see more as a tanky flanker similar to dva but is especially good at punishing a genji/tracer/widowmaker/reinhardt/symmetra heavy teams that are lacking his effective counters; Zenyatta/reaper/mcree/bastion/soldier from range etc… Yes unfortunately his shield is sooooooooooo much more weaker than before, it got hit with a pretty heavy nerf and he was compensated with a jump having less CD.
My personal tier list based on what i’ve seen from competitive play and playing it out since closed beta started. The further down you go the more situational they get
S - Widowmaker (on defense), Lucio
A+ Reinhardt, Symmetra, Mercy,
A - Soldier 76, Zarya, McCree, Pharah, Tracer, Reaper, Genji, Roadhog
B - Winston, Mei, D.Va
C - Junkrat, Torbjorn, Bastion
D - Hanzo
S tier I feel are notably strong heroes at their role and bring ridiculous utility to a team. A competent Widowmaker on defense I feel is a must, one of the massive hurdles of defense to get through.
Much of A and A+ tier are generally proven strong characters that’s often part of a strong comp that are interchanged depending on map/opponents composition/often notably strong synergy with much of the cast, otherwise standard shell teams like pharah/lucio/mcree/mercy/zarya/reinhardt. Though this is all provided if you’re aware of proper team building and synergy. Like say Zarya does amazing in the off tank role with one of the most game changing ults out there and great damage, but she’s certainly not someone you pick to solo tank. Much of the offense characters all have their use and are all very strong at what they do.
The only real main tank being Reinhardt unfortunately is the reason why he’s up slightly a tier. Mercy being a great and safe dedicated healer is also why she’s up there, often paired with lucio/pharah. Symmetra previously had the highest winrate of any hero, and even with the nerf I still feel she still does her job well. Zenyatta is also among the problem characters that got nerfed recently with double zenyatta/symmetra on offense being so strong that they had to nerf them both lol. He’s still quite strong at his role, and will punish a tank heavy composition/pharahs/and other targets that struggle from long range. He gets one shot by widowmaker however symmetra shield brings him out of that body shot range. Often a pair.
Roadhog is pretty solid overall, excels on maps where he can retreat to cover under the safety of his team’s sheer defense to self heal. *Hanamura, first point with widowmaker/bastion/torb/symmetra etc… covering the doorway.
B tier are generally slightly more situational heroes, Mei I feel i gotta check up on but normally i’d lump her with A. Winston I also need to check up on because his shield feels extremely underwhelming now prior to the nerf.
C tier you’re likely specifically using for certain points of a map vs certain matchups, generally on defense, with bastion being usable provided if you’re running reinhardt to cover him. In pubs Torb/bastion of course goes up a tier.
D - Hanzo for competitive play is near nonexistent if at all. Used apparently only for wiping teams near spawn and swapping. His role sorta overlaps with pharah but is less consistent and survivability is much lower. Practically needs a character specialist aka someone so amazing for him to really get picked. In pubs if you got a solid hanzo he’s more than passable if you know where to use him. He’s fun too.
However don’t put him in the same role as a sniper, he’s more like junkrat/pharah for area denial/high damage barrage from mid-far range. If your team needs a sniper you get the actual sniper. Like say you don’t pick hanzo to “counter snipe” a widowmaker.
Due to what Spirit juice said is true; there being a flavor of a week meta that constantly shifts, that generally supports the idea of having a plenty of A tier heroes with some situational heroes on the side.