This criteria does not include how easy the Pokemon is to be caught. In Pokemon Go, you have to capture same kind of Pokemon to power up the Pokemon by using candy. Therefore, how easy the Pokemon is to be trained is connected to capture easiness.
Dragonite is one of the Pokemon can have higher CP value. Additionally, its both standard attack and special moves has higher power. HP is also better than other Pokemons. Dragonite can beat mostly another Pokemon.
In Pokemon Go, there are a few Pokemon with types effective against Dragonite: Ice-, Fairy-, or Dragon-type. So, Dragonite encounters Pokemon with effective against it fewer times relative to other Pokemons.
Snorlax's max HP can be very high due to its higher stamina base stats. It rarely lose a battle with Pokemon with same extent CP.
Since Snorlax's moves are normal-type, these are not super effective against all Pokemon. On the other hand, the damage of norma-type moves are hardly cut off because only rock-, steel-, and ghost-types are strong against normal-type.
Vanusaur has higher Max CP in Grass-type Pokemon. Additionally, its HP is high and it has advantage in durability.
Good Fast and Charge Moves
Venusaur's fast and charge moves, Razor Leaf and Petal Blizzard, are useful based on its power, speed, and energy consumption. Moreover, Grass-type moves are effective to Vaporeon, one of the everyone's favorite.
Gyarados's fast moves are dragon- or dark-types. Those moves are super effective against dragon-, psychic-, and ghost-type Pokemon. That means Gyarados can have advantage over rather than fire- and ground-type Pokemon.