Learning to switch. Mastering various tactics per character as well. Learning that K to D ratio isn't that important on certain maps and as certain characters. There are a lot of basics people ignore.
Having a Reinhardt for example, but people constantly taking off to solo or moving out of the shield. On a payload map that is ludicrous. If you stay behind the shield and fire from there you'll clear out most enemies.
Learning where to position on each map as Bastion and learning a multi point spot so you don't get killed (kill screen people, if you camp one spot it just takes a second to learn where you are). Remembering to repair right away as Bastion. Learning to hold ults until necessary is a huge factor.
Playing Winston on objective maps as he can clear the entire thing and on some his clearing leads to deaths based on the objective itself.
The game isn't easy, the characters themselves are easy, but the meta is rather complex and the game has some decent depth. Playing a full team vs another full team of folks will show this to a lot of people. Quick play is rather simple if you have two competent players or 3. Learning a characters moves is easy, learning the Meta is complex and learning to adapt to your team and their team is hard. Learning when to leave an objective and set up for the next etc. Some maps I switch 4 times. FOr a final push you can't beat a double Reinhardt on a payload.