From Bulbapedia, the community-driven Pokémon encyclopedia.
An Egg move is any move passed down from a Pokémon breeding pair to their offspring, which it would not normally possess at the level it hatches. The term is also frequently used specifically for moves that a Pokémon can acquire only from breeding (i.e. moves that the offspring cannot learn via level-up, TM or HM, or Move Tutor), though a Pokémon can inherit moves from its parents in other ways. All of these methods require the male Pokémon (the father) to know the move prior to breeding.
Before breeding a Pokémon, one must consider whether to use any Egg moves in that Pokémon's moveset, and breed accordingly. To learn more than one Egg move, since they are only passed on by the father, only a father Pokémon in the appropriate Egg Group that can legitimately have all of the moves in one moveset can be used. This makes certain combinations of Egg moves impossible for certain Pokémon: e.g. Tentacruel has both Rapid Spin and Mirror Coat as available Egg moves, but no Pokémon in the Water 3 Egg Group can learn both moves so Tentacruel can't use both in the same moveset.
Sometimes to get a certain moveset onto a Pokémon, such as a Spinda with Wish and Baton Pass, several steps must be taken; this is called chain breeding.
Rules of Egg move breeding
If both parents know one or more moves that their offspring could learn by leveling up, the offspring will inherit that move. For example, Gengar and Mismagius both know Mean Look, so their child, Misdreavus, who learns the move at level 19 will know it when it hatches.
Note that Ditto cannot be used to pass down moves in this manner, because the only move it possesses is Transform.
TM and HM moves
If the male Pokémon knows a TM or HM move that the offspring can learn, the offspring will have that move. This applies whether or not the female Pokémon knows the move (or if Ditto was used in lieu of a female). In this example, the father, Gliscor, learns X-Scissor naturally, and his child, Joltik, can learn the same move through TM81, so it will know this move upon hatching.
Prior to Generation V, this was the only way to "reuse" one-of-a-kind TMs, like the ones obtained from Gym Leaders.
If the male Pokémon knows a move that the offspring can learn only by breeding, the offspring will be born knowing the move (similar to the inheritance of TM moves described above). For example, if a male Dragonite knowing Outrage is bred with a female Charizard, the resulting Charmander will know Outrage. As of Generation VI, a female can pass down moves, too.
In addition to (or in the absence of) any inherited moves, the offspring Pokémon will know at least one default move when hatched, labeled in their level up move list as either "Start" or "--" in lieu of a level number. If this would result in the offspring possessing more than four moves, the inherited moves take priority and the moves on top of their level up move list (with "Start" or "--") will be the ones that are not learned. (If desired, the player may consult a Move Reminder to acquire those moves.)
Breeding with Incense
Incense-bred Pokémon often have a different or expanded Egg move list than their evolved forms, due to being classified in the Pokédex as a different species.
Pichu can "inherit" Volt Tackle if the female Pikachu or Raichu of the breeding pair holds the Light Ball.
Genderless Pokémon cannot inherit any Egg moves, as they can only be bred with Ditto, and always start with a fixed number of moves. Some of these, such as Unown and Beldum, are also incapable of learning moves via TM and HM.