There are two kinds of eggs in Pokémon Go: Pokémon Eggs that hatch Pokémon and Lucky Eggs that double the XP you get for catching and hatching Pokémon and performing other in-game actions. Pokémon Eggs are free and you can only get them from spinning PokéStops. You can buy Lucky Eggs but you also get them as rewards for hitting some levels.
Regardless of the kind of egg you have, you want to get the most out of it.
Incubators are one of the very few things I’ll pay for if I need to. Sure, you’ll get a lot of common Pokémon, but you’ll also get some rare Pokémon that would take you a long time to catch in the wild, and it’s currently the only way to get the Gen 2 and Gen 3 Pokémon babies.
If you have a Lucky Egg, a bunch of Pidgey, Caterpie, Weedle, and Rattata you want to mass-evolve for leveling, and a slew of Pokémon Eggs available to hatch, start your 10 KM eggs incubating. When you get to 5 KM on them, start your 5 KM eggs incubating. When you get to 8 KM / 3 KM, start your 2 KM eggs incubating.
When they’re about to hatch, drop your Lucky Egg and start your mass evolution. You can do one evolution every 20 seconds, so if you have enough Pokémon and enough candy, you can really make an XP dent. (Some people like force-quitting each evolution to speed up the process — your mileage may vary.)
If you can time your daily PokéStop spin bonus (see below) — or better, your weekly spin bonus — all the better. And if you happen to hatch something new, your Pokédex bonus will get doubled as well!
If you go to a new part of town, or a new town, you can also hit a ton of new PokéStops in a row. Each one of those will net you 250 XP — 500 XP with a Lucky egg. City centers can have dozens of PokéStops down a single street, which can mean massive XP hauls.
When everything comes together, you can not only get some new Pokémon, candy and Stardust to evolve more great Pokémon, and a huge amount of XP towards your next level.