Theory [practice is on next page]

Basically, yogurt is clabbered milk. You take milk, inoculate it with appropriate bacteria, and keep it warm for several hours (3 to 8 hrs, say) while the bacteria clobber it. Then enjoy.
The main issues are: using the right bacteria, keeping out the wrong bacteria (and yeasts), and temp control. [Detailed here in reverse order:]

Temperature: If the mix is too cool, the friendly bac are too weak to clobber the milk. If too hot, they themselves die of heatstroke. Sometimes you can find a good warm niche around the house. I used to park my jars on top of a water heater. Another winner is to line a cardboard box with styrofoam (like about an inch of styrofoam on bottom and sides, with a styrofoam rectangle cut for inner lid), put your warm jar or jars in plastic bags (protects from drips), wrap in old towels, place in box, cover with styro lid, and close box. Warm jars in a well-insulated, closed box hold heat for many hours. Temp should be slightly above normal human body temperature. 110°F (43°C) is ideal, but there's some leeway. I never bother to use a thermometer any more. I just stick my finger in. This brings us to:

Wrong bacteria: Cleanliness is next to Godliness. Most directions recommend heating "fresh" milk to near boiling, then cooling to around 110°F. This is required to kill off the wrong bacteria living in commercially sold liquid milk. I call them wrong because if you let them do the job, you won't like the product. Bad guys, you could say. Using powdered milk obviates the need to pasteurize. It's already clean.
My grandma made yogurt, and she was very near to God. In addition to repasteurizing, she boiled all her yogurt bottles and lids, and never touched the interiors. I make sure my bottles are washed well and stored dry, but I don't boil em. I do wash my hands before making yogurt, though.

Good Guys: There are about three kinds of good guys in good yogurt.* They say that in commercial yogurt production, some of the weaker good guys tend to fall by the wayside. Another case of nice guys finishing last. You CAN use commercial yogurt, like Dannon, or Yopoplait, or whathaveyou, as a yogurt starter. Just toss a couple tablespoonsful into your warm milk, mix well, and incubate. But if you use real YOGURT START from the health food store, you'll get a better product. They're all good, but I particularly like Yogourmet freeze-dried powder start. [This may be the most important tip for making good yogurt. Use real yogurt start, at least to get going.]

*(Lactobacillus bulgaricus, lactobacillus acidophilus, and streptococcus thermophilus. Now that's a mouthful!)

So much for theory. Here's the routine: