What makes Pokémon battles unique is the use of the type system. Each Pokémon has one or two types; which reflect what kind of Pokémon they are. A fish Pokémon will be a water type; while a plant Pokémon will be a grass type (it's all pretty logical). What does this mean for battling though?
Well, as in real life, some things 'beat' others. Water douses fire and in the same way, Water-type moves used on a Fire-type Pokémon deal more damage. Fire-type moves also deal less damage to Water-Type Pokemon because of this.
Not all types are strong or weak against all other types; but there are many that work in this way. Some types can't even damage Pokémon of certain types, such as Poison-Type moves when used on a Steel-Type Pokémon. Taking proper advantage of type match-ups is what separates the best from the rest.
Our Handy Type Match-Up Table
The below table is structured so that when you want to check it; simply look at the left column first to match what Pokemon-type you're up against and then look right to see what move-types do the most damage.
Example: If we were up against a Fire-type Pokemon, then from the table we can see that using another Fire-ype against it would be a waste of time as it does only half the damage. However; if you had a Pokemon with Water , Ground or Rock-type moves, then you'd be dealing 2x the damage levels.
When an opposing Pokémon is dual-typed, things get slightly more complicated. What happens is that the damage multipliers for both types are multiplied together.
Example A : If we were up against Aurorus, an Ice/Rock Pokémon, then a Water-type move would do double damage, because Water is super effective against Rock and does normal damage to Ice. Similarly, a Normal-type move would do half damage because it's rubbish against Rock and normal against Ice.
The kicker is that Fighting-type and Steel-type moves do quadruple damage, because they're strong against both Ice and Rock. Yikes!
Example B : What about Honedge, the Steel/Ghost Pokémon? Fire-type moves do double damage, as they're strong against Steel and normal against Ghost. Bug-type moves should be avoided as they do a quarter damage, being both rubbish against Steel and Ghost.
Don't bother with Fighting-type moves either, as despite being strong against Steel, they do no damage to Ghost, which means they do no damage to our spooky Honedge.
Although during most situations, you can rely on the type chart to see how effective or ineffective your and your opponent's moves will be, there will be times when the rules are broken slightly - or rather, a loophole is used. This can be due to various factors, such as a Pokémon's held item, ability or even their move.
Just a few examples: Pokémon with the Levitate ability are immune to Ground-type moves, so don't bother trying to shake up Latias or the like. Ghost-type Pokémon need to watch out too, as they can be hit by Normal-type and Fighting-type moves if Foresight or Odour Sleuth is used on them.
Finally, Ice-type Pokémon are normally ineffective against Water-type Pokémon, but if they use the Freeze Dry Ice-type move, they will do super-effective damage! A Water/Flying Pokémon like Gyarados definitely won't like being hit by Freeze Dry for quadruple damage (since it's strong against Flying and Water).