To start breeding, select either a ditto or a Pokemon with decent IVs. Use an everstone to carry down the nature of the item holder and a destiny knot to carry down five of the IVs of either parent when held by one.
Having high IVs doesn't always mean perfection; for example, if you are breeding a Greninja and it comes out with 24 IVs in Special Attack and 31 in everything else, it wouldn't be as good as if it was 31 in Special Attack and lacking in Physical Attack (if using a special set).
The best things to breed with would be a max IV Ditto (31 in all stats) while holding a destiny knot to ensure that the egg will have somewhat higher IVs then what's being bred. Some moves need certain Pokemon with the move to breed in order to pass the move onto a child. For example, getting Drain Punch on Breloom you would require something such as a Ludicolo, Clefairy or Rillaboom (not subject to just these three).
To obtain some certain Pokemon, you would need to use an incense; for example, when breeding a Sudowoodo a rock incense must be held to breed a bonsly, and a Snorlax must hold a full incense to breed a Munchlax.
As stated before, Ditto can breed with anything, but not all Pokemon can breed with everything like Ditto can; the two Pokemon you are trying to breed will ether need to be the same - to get a Litwick without a Ditto would require you to breed two Chandelure. The Pokemon can also be in the same evolution line, like with getting an Eevee you could breed any of the eight evolutions of Eevee. The Pokemon can also be in the same egg group; for example, breeding an Obstagoon and a Pangoro would result in the egg being the pre-evolution of the female parent since Obstagoon being in the field egg group and Pangoro being in the field/human-like egg groups it allows them to breed. Three times the parents wouldn't produce an egg would be if they are both the same gender, in different egg groups, or if they are in the 'undiscovered' egg group. Pokemon with no gender can only breed with Ditto. To speed up the egg hatching process, you need a Pokemon with one of these abilities: Flame Body, Magma Armor, Steam Engine. The egg will hatch twice as fast this way.