There's a lot of Pokémon out there, but we commonly see the same ones over and over again in battles. While some deserve this pleasure, a lot are just there because there's a belief of their usefulness in battle. And on the opposite side of the spectrum, there's plenty of good ones nobody uses. What do you think? Note that overused isn't the same as overrated.
For underrated, I'd have to say Steelix. It may have common weaknesses, but its 200 Defence stat can make it stand up to almost anything Physical. Match this with Stealth Rock, Protect, and Leftovers, and you've got quite the force.
As for overrated, I have to say Charizard. Apart from the Stealth Rock epidemic, people seem to think he's some powerful killing machine. No doubt due to the anime's portrayal.