This applies to every single Pokémon game.
For Pokémon GO, the exceptions:
- Quad weakness and 0x effectiveness mechanics don't exist. Example, you can still hit Flying-types with Ground attacks.
- STAB and super effective moves are only 1.25x instead of 1.5x and 2x, respectively. Not very effective moves are 0.75x instead of 0.5x.
There are tiers for Pokémon in Pokémon GO. Even if your Seaking is perfect and has the best offensive moveset, it's not going to defeat even a subpar Arcanine. Despite having a type advantage, you're not going to find a Hitmonlee beating up a Snorlax unless they're of similar CP, and Snorlax will
always have a far higher CP ceiling.
Like I literally use a single Dragonite to sweep entire Gyms because it's a combination of having a Pokémon that's in the highest tier and with far superior CP (which tend to go hand in hand). I'll think twice if facing a high CP Lapras because of its Ice attacks and Dragonite doesn't have anything that's super effective against a Lapras.
In the end, if you know how to dodge attacks (especially charge attacks), you can handle most content, even those you're disadvantageous against. Dodging is the only thing that remotely requires skill in this game.
What's effective against grass types like VilePlume/Victreebel?
Look at the chart.
What's effective against psychic types like Slowbro/Hypnos/Exeggutor?
Look at the chart. And also Slowbro is part Water type and Exeggutor is part Grass type.
What's effective against water types like Vaporeon/Lapras/Gyarados/Venusaur/Poliwrath?
Look at the chart. And also Lapras is part Ice type, Gyarados is part Flying type, Venusaur isn't even a Water type (it's Grass), and Poliwrath is part Fighting type.
What's effective against Snorlax?
Snorlax is amongst the highest tier Pokémon and no Fighting-type Pokémon is remotely close. You're going to have to rely on a Pokémon that has superior raw stats and the ability to know when to dodge attacks.
What's effective against poison types like Nidoking/Nidoqueen?
Look at the chart.
What's a good pokemon to put in the gym for defense?
Any high CP, high base stamina (HP) Pokémon with a quick move that generates energy fast for charge moves. Unsurprisingly, many of these also end up being the standard top-tier Pokémon, including Dragonite, Lapras, Vaporeon, Snorlax, Exeggutor, Arcanine, Victreebel, amongst a few others.
I assume all fire types are weak against water types so I shouldn't worry too much about sending in Vaporeons against the likes of Dragonite/Arcanine/Charizard?
Dragonite is dual Dragon-Flying type and will beat up your Vaporeon. Look at the chart. Water is ineffective against Dragon types. The only two Pokémon that can reliably beat up a Dragonite every time are other Dragonites and Lapras.
People really like Arcanine, and yes it's a high-tier Pokémon, but the metagame shows off so many Vaporeon, Dragonite, Gyarados, Snorlax that any of them can easily outmuscle a high CP Arcanine. I never use an Arcanine or really any Fire type in gyms. They get beat up so easily.