I really suck at Reinhardt, but I feel he's one of the highest utility heroes in the game. Any pointers?
Your team relies on you to protect them, so don't drop the shield when you're taking sustained fire.
Fire Strike is super useful. If they are all gathered behind an enemy Reinhardt, you can get a bunch of ult charge with it. If they have a Junkrat, I like to keep it available to destroy his tire.
When it's Reinhardt versus Reinhardt, you have to outplay your opponent, or else a single Earthshatter can take out everyone behind you. Fire Strike leaves you open, so don't do that, and use your enemy's Fire Strike to Earthshatter them.
Also, charge is super useful against enemy Reins. If you're close enough, they either can't react in time and get pinned, or they have to charge at you as well, stunning you both. This can be a good opportunity for your team to take the enemy by surprise, but can also be risky if your opponents have more damage.
The most important thing is to know is when to drop everything and swing away.