While all the items for sale in the Shop conceivably help, two items aren't available through PokéStops or leveling up: the Bag Upgrade and Pokémon Storage Upgrade. The difference here, though, is that you don't really need the Pokémon Storage Upgrade unless you're into having tons of garbage Pokémon on your person. Who can ever get enough Pidgey?
You'll always have an incubator, you'll get PokéBalls all the time, and you'll occasionally stumbled on Lucky Eggs, Lure Modules, and Incense. But Bag Upgrade and Storage Upgrade, not so much.
While this is simple advice, it means you'll be able to carry way more PokéBalls, Potions (and all its variants), and Revives -- all of which are crucial to catching Pokémon and defeating them at gyms. If you don't upgrade, as you progress, you'll expend far more PokéBalls trying to catch higher CP Pokémon -- leading you to run out at some point.