I saw some other posts on this forum that made me think some poor info is out there. Mainly mention of balancing issues and lack of tanks?
At this point the balance is pretty solid. It is rock/paper/scissors type balancing, where no single pick is OP, and there is at least one other pick that has a large advantage on that pick. The only character that was OP was probably Genji for the first couple weeks after his release, when he could shuriken snipe across the map for headshot kills on anyone not moving, i.e. snipers, and he could jump Torb's turrets faster than they could track him, so he could shred them close range without getting hit, and he could swift strike through Bastions shield to near instant kill him from behind. Basically meaning he was a hard counter for every defensive pick. Now his shuriken damage was nerfed, Torb's turret tracks faster, and Bastion no longer has a shield that is easily bypassed. Still a great anti-Widowmaker pick, because nothing beats deflecting a snipe from across the map back into Widowmaker for a headshot kill.
Other than Genji's previous OPness, the game has been pretty balanced. Some maps favor certain picks, and sometimes certain picks are better for a particular section of the map, and some picks are strong counters for others. Also there is a skill level difference that makes a change to how a character can be played. Lucio is a simple line of sight aoe healer, with fairly weak attacks. But he has a strong knockback special and can wall ride. New players will play him on ground level as a healer, focusing on ulting their team. Experienced players will be playing him by running him on the walls as much as possible, and be focused more on kills than healing, because mid range he does about as much DPS as anyone else, and he can self heal while having the highest mobility in the game, supposing you wall ride like a pro, and use his speed boost.
As for tanks, there are 5 of them last I counted. Winston who can drop a bubble shield that protect everyone in it, but the bubble is now much weaker than it was in closed beta when a popular strat was multiple Winstons laying overlapping shields to form an impenetrable area for ranged teammates to safely shoot from. There is Zarya who can apply shields to teammates and herself to increase her own energy output which increases her weapon damage. Roadhog, is a self healing tank, who can heal quickly and frequently, making him really good for hit and run engagements, where he can duck back and heal, then re-engage. DVA is a good pick for protecting a team while attacking as she can put up a projectile shield that blocks all projectiles aimed at her and those next to her until it expires, and arguably has the best point clear ult in the game. Last but not least, Reinhardt is a true beast, but I actually find his tank role to be simple and boring. he can provide a shield for his team that has no expiration timer, but only faces one way, and can be broken by characters like reaper pretty quickly, and bypassed completely by energy weapons like Symetra's charged shot. that being said, he is absolutely devastating if you play him as a close range flanker. Learn the map, then use him to ambush out of tunnels at close range, and you can literally smash your way through an entire opposing team.
This is all my opinion of course, and you are welcome to disagree. Also I should mention I primarily played Widowmaker, and can tell you that her grappling hook is less than ideal. Long cooldown, and a tendency to grab things you are not aiming at because they were "closer" and in the same general direction. Not to mention you have to learn all the maps to know what surfaces you simply can't grapple too. Also, not well known, but she has a max range, her bullets just disappear at a certain distance, although I don't think there are any spots left where that is an actual issue.