CP is really all that matters yea. A level 900 Hypno, which is suuuuuuper common in Chicago, will shit all over literally anything that isn't at least level 700, even if you have your type stacked properly for strong/weak.
Don't ever level up pokemon that aren't evolved yet, complete waste of stardust. Only except are the pokemon that don't have any evolution like electabuzz or hitmonchan etc, they can ge pretty beefy without an evolution.
Level is >>>>>>> anything else. Focus entirely on leveling up, as it unlocks better items for collection at stops (hyper potionx, max potions at 20, great balls and ultra balls, etc) and also makes the CP of wild pokemon go up. I regularly catch stuff in the 400+ range right now, and evolving something from ~400 usually lands in the 800 range, so very little leveling is needed after that usually.
Best strat I've come up with for leveling is just spam catching whatever is common by you, pidgy/rattata/weedle/whatever, and just stockpile all of them, DON'T send them to the professor. Evolving a pokemon is 500xp, and pidgey/rattata/weedle only take 12 candies to do so, so once you've saved up a ton of them eat a lucky egg (you get a few for free as you level) then just spam evolve them all for 1000xp per.
If you're going to spend money buy egg incubators, they are cheap. Hatching a pokemon is 500xp, plus a bonus 1000 if its a new one, so having 5+ eggs cooking at once is a lot of fast xp.