End-game is pretty much all about gyms. Catching trash pokemon becomes harder and harder, so you need the dust from gym battles to keep leveling up your pokemon. And with coins, you can buy more incubators for more chances for rares.
Someone posted this:
https://goo.gl/mDlCQmWhich ranks pokemon based on attack [attack stat * attack move] * defense. From this, it's pretty easy to determine optimal strategies, and the number of good pokemon is actually quite limited, which is unfortunate. Most people won't get mew/mewtwo and any legendaries (which seems to be the case at this point at least), which really limits the tier 1 pokemon.
Vaporeon: OP as hell, to the point of possibly being not WAI. Highest attack power and really easy to get. If you can't get any other tier 1 pokemon (all of which are rare) just get 3x vaporeon. Eevee are all over the place. Pretty much any pokemon that isn't a hard counter to vaporeon will just melt.
Snorlax: Huge stats, strong defender with no real weaknesses. Also, incredibly rare. I actually don't like Snorlax because you can't leverage any elemental weakness with him, and trying to defend gyms for any length of time is pointless.
Dragonite: Overall strong attacker, rare, but not as rare as others. There are some Dratini farms scattered around. Counters vaporeon and has a bunch of resistances to elemental types (except for ice which is 2x weak).
Lapras: one of the few ice type pokemon with a main ice attack, hard counters Dragonite. Extremely rare. Also, really good as a defender, possibly better than Snorlax since it'll often force a switch and take up time. There are very few counters to Lapras; Lapras is water/ice and weak to grass, but grass pokemon are also weak to ice. Electric pokemon counter, but have terrible stats.
Poliwrath: Poliwrath is a water/fighting type with high stats. His best main attack is a strong ground type attack, which means he has advantage over water type pokemon by dealing full damage, including Lapras. His best charge attack is fighting based, which is strong against ice (Lapras) and also normal (Snorlax). Pretty decent counter for other tier 1 pokemon.
Tier 2:
Venosaur, Exeggutor, Gyarados: Good counters to the common water pokemon, including Vaporeon and also holds their own, weakness-wise, against Lapras. Gyarados has 2x resistance to water, and has dragon as it's main attack type, so it should demolish other water pokemon too. Gyarados is relatively easy to get if you live by water.
Slowbro, blastoise, any other water pokemon: Strong, but ultimately just weaker vaporeons.
Alakazam, Hypno, other Psychic types: very high attack power, but very low defense. No strong matchups in the tier 1 list. Good for rolling low level gyms, but overall there are better choices (Vaporeon).
Raichu, Jolteon, electric types: terrible stats, but strong against water types and Lapras. But given the rarity of Lapras, Gyarados and grass types are better.
Flareon, Arcanine, fire types: good stats and strong against bug types and grass types, but gets wasted vs. water type supremacy.
Lineup: you have enough dust to max out ~3-4 pokemon in my experience so far (level 22). Everything else should be sideboarded and not wasting any dust on them - basically, high CP pokemon you can get from evolving stuff in your area.
Ideal mainboard:
Vaporeon
Dragonite - alternatives: Gyarados, Vaporeon, Snorlax
Lapras - alternatives: Golduck (with ice beam special)
Poliwrath- alternatives: Gyarados, Exeggutor
Sideboard (example):
Venosaur, Exeggutor, Gyarados
Water types: Vaporeon, Tentacruel, Golducks
Electric types: Raichu, Jolteon