Breeding Introduction
Okay. When you breed two Pokémon together, they will eventually produce an Egg. When the egg hatches, it will be at Lv. 5 and the form of the MOTHER. So, a male Raticate and a female Houndoom will produce baby Houndour, while a male Houndoom and a female Raticate will produce baby Rattata.
Breeding for Moves
The moves it will have depend on the moves known by the parents. Up to four moves can be passed down, in the following ways:

1. If the father has a move that can breed to the baby. For example, if the male Raticate in the above example had Pursuit, all baby Houndour born will have Pursuit because it's one of the breedable moves.

2. If the father has any GS TMs that the baby's species can use, they will be passed down. (RBY TMs aren't passed down. You can't breed Thunderbolt or Thunderwave, but you can breed Thunder or Zap Cannon.) However, if the RBY TM happens to be a breedable move at the same time, it will be passed down. Mareep can obtain Thunderbolt this way. Onix, Rhyhorn and Geodude can also breed for Rock Slide without having to use the RBY TM.

3. If both the father and mother have a move that is learned by leveling up, the baby will start with it. A male and female Heracross that each have Megahorn will produce babies that already know Megahorn. If the father also happens to have Flail (a breedable move) and Earthquake (a breedable TM) the baby will start with all three of these attacks.

Now, since baby Heracross already start with two attacks, one of them gets overridden automatically. The first one is Tackle and the second Leer; I think (but am not positive) that Tackle gets pushed up and off the list. If the father and mother also had Counter, a move Heracross learns naturally, than all four of these moves would be bred to the baby and it would lose both Tackle and Leer. (No big loss.)

It doesn't matter who the father is, if it has a move that can be passed down, it will be passed down. Smeargle is often used as the father in situations where normal breeding will not be possible. Chansey and Snubbull can both breed for Miltank's Heal Bell, however, Miltank is an all female species. Anything that breeds with Miltank will create more baby Miltank. This is where Smeargle comes in. Get Heal Bell on Smeargle and you can breed it with a female Snubbull. Take a male from that union and breed it with Chansey, and the attack is passed on again.

Another breeding chain that sees plenty of use is the aquisition of Drill Peck and Haze on Natu at the same time. Breed a male Zubat that knows Haze with a female Doduo, and Haze will be passed on. Level a male Doduo up until it learns Drill Peck and breed it with a female Natu to pass both moves on at once.

However, there are some instances where breeding for a move will remove the Pokémon's ability to go to RBY for TM's. A Chansey with Heal Bell cannot go to RBY for Thunderwave, Counter or Seismic Toss, three of its most valuable attacks. Heal Bell cannot be deleted and relearned later; so at this time, it is impossible to have a Chansey with Heal Bell and any of these attacks.

But of course, if the Pokémon can BREED for these RBY TM's, it may still be possible. Mankey and Rhyhorn can obtain both Reversal, a GS-only attack, and Rock Slide through breeding. However, BOTH moves must be passed on at the same time! If you breed Reversal to a female Rhyhorn, and try to breed Rock Slide onto it later, the babies will not have Reversal. Currently, the only way to do this in both these cases is with Smeargle.

But, of course, Smeargle doesn't breed with everything. Come Crystal, it will be impossible for Magmar or Electabuzz to have Barrier and Cross Chop at the same time. Cross Chop will only breed to Magmar or Electabuzz (or Psyduck) and none of these Pokémon learn Barrier naturally. Machamp, the only Pokémon that can mate with Magmar or Electabuzz and pass on Cross Chop, cannot use Barrier either. If Smeargle could breed with Magmar or Electabuzz, the solution to this problem would be obvious, but it cannot.

Ditto is something else to remember when breeding. Ditto can breed with male or female Pokémon, and the form is always of the OTHER Pokémon. Male Hitmonchan will cause Ditto to give birth to male Tyrogue. Meanwhile, female Jynx will cause Ditto to give birth to female Smoochum. I'm not sure about the females, but the males still act like males. This is how baby Tyrogue get Hi Jump Kick and Mach Punch.

Ditto can also breed with genderless Pokémon like Magnemite and Porygon, who cannot breed with anything else or even themselves. In these cases, the genderless Pokémon acts like the 'father', in that TMs and breedable moves are passed down (just like if the Ditto was a female). And, as a genderless Pokémon, Ditto cannot breed with itself.

Unfortunately, Ditto cannot- CANNOT- breed with Legendary Pokémon. These include Articuno, Zapdos, Moltres, Raikou, Entei, Suicune, Celebi, Mew, Mewtwo, Lugia and Houou. They may be genderless but they are also unbreedable.

Remember how I said that the babies are always the form of the female? There is, of course, one exception. Surely you've noticed all of Nidoking's breedable moves? Nidoking is an all male species, thus, it's impossible for it to obtain these attacks in the normal way. However, female Nidoran may give birth to either more female Nidoran, or male Nidoran. It's random. So, if you mate a male Quagsire that knows Amnesia with a female Nidoran, the males that are born will know Amnesia. This goes for the rest of the moves as well.

And, that just about sums it up for breeding moves. :D Any questions?
Breeding Stats
This is a very complex topic; even I don't fully understand how it works. However, I shall share what I know.

Firstly, stats are more or less based on those of the parents'. Male babies use the stats from their mother, while female babies use the stats from their father. (When Ditto is involved in any pairing, its stats are used.)

The Defence DV will be the same as the the parent from which the stats are taken. The Special DV has a 50% chance of being the same. So what this means is, if you have a Pokémon with max Defence and Special, you're halfway there! The opposite gender babies will have a 50% chance of having max Defence and Special, which means their Health DV will automaticaly be at least 5.

An example. Say we breed a male Nidoran with maximum Defence, and a female Nidoran with maximum Special. The male Nidoran that are born will have a 50% chance of having max Special, while the female Nidoran are guaranteed to have max Defence.

Ditto, of course, can breed with anything, so if you're looking to breed several max stat Pokémon, Ditto might be your best choice. Just get one with max Defence and Special, and use that. With max Defence and Special, you have a 1 in 512 chance of getting a six-way max (which is VERY GOOD compared to the usual 1 in 65 536). I think that as the Attack and Speed DVs of the parent goes up, these chances get better.

One thing to keep in mind, though- if the Defence DVs of two Pokémon are the same, they CANNOT breed. "They're brimming with energy", etc. So, anything with max Defence won't be able to breed with your Ditto-stud. No matter, I don't think the other parent's stats have any real bearing on the stats of the babies. However, I could be wrong.
Breeding for Hidden Power
The Defence DV is one of the two DVs used in determining the type of Hidden Power, and since Defence is automatically passed down; having a suitable Defence DV on a Ditto means you have a 1 in 4 chance of getting the desired type of Hidden Power. (Getting a good POWER on the thing might be another story...)

Anyway. There are 16 different Hidden Power types, so you're going to need at least four Ditto to be able to quickly breed for them.

If you want a Dark, Electric, Steel, or Ground HP, you need a Ditto with a Defence DV of 15, 11, 7 or 3.
For Dragon, Grass, Ghost or Poison, you need one with 14, 10, 6 or 2.
Ice, Water, Bug or Flying needs a Defence DV of 13, 9, 5 or 1.
And Psychic, Fire, Rock or Fighting require stats of 12, 8, 4 or 0.

Each Ditto SHOULD have DVs of 8 or above, for power reasons. (A Pokémon with at least 8888 as its stats will have a 70 Hidden Power.) So that means you have a 1 in 8 chance of getting a suitable Ditto. However, if you're going for stats as well, that means your Ditto needs max Special, making the chances 1 in 128.

When breeding the Ditto, first of all, there is a 1 in 2 chance of getting the max Special. If it isn't 15, it'll be 7, which will affect the strength (though, not by much...). Then there is a 1 in 8 chance of getting the Attack DV to cooperate. The Attack DV falls like this:

Attack DV's of 15, 14, 13 or 12 will give Powers of Dark, Dragon, Ice or Psychic, depending on the Defence DV.
11, 10, 9 or 8 will result in Electric, Grass, Water or Fire.
7, 6, 5, or 4 for Steel, Ghost, Bug or Rock.
3, 2, 1, or 0 end up with a Ground, Poison, Flying or Fighting Power.

What this means is, if your baby has an Attack DV of 13, it'll be either Dark, Dragon, Ice or Psychic, depending on what the Defence DV is. So, AT 13 and DF 10 means it'll be Dragon type, while AT 13 and DF 11 means it'll be Dark type. Refer to the Hidden Power Chart for a full breakdown of types and power.