I've been reading The Bread Baker's Apprentice by Peter Reinhart. It's an excellent book, explaining both the chemistry and the art behind bread making, and it's taught me a lot. I've made several breads in the past few days and they've been really quite good.
The "standard" bread recipe is flour, water, salt and yeast. Mixed in the right proportions, and allowed to rise, it should produce good bread. Theoretically, but whenever I did it, something didn't come out quite right. Now that I'm reading this book I'm slowly fixing the things I do wrong and it's very satisfying.
First, the fermentation (rising) of the bread strongly controls the flavor. There are several reactions that go on -- yeast converts simple sugar into carbon dioxide and alcohol, enzymes convert starches into simple sugars, etc. The point is that if you let the dough to sit around for a while before you use it, you can improve the flavor of the bread. Depending on the ingredients and conditions in which you let it sit around, you can produce drastically different results.
For instance, if you use poolish, you mix flour, water, and yeast the day before, let it sit around for a few hours, then pop it in the fridge. The next day, you add it to the dough you make and the flavor is noticeably different (more mature, a stronger flavor). Similarly, if you use really cold water for a dough and knead it quickly by machine, then refrigerate it overnight, you get pain à l'ancienne, which has a distinctive rich flavor. I have been experimenting with both those recipes and they've turned out extremely well.
Other variables, I'm learning, have similarly powerful effects. Steam in the oven during the first two minutes of baking makes a big difference to the crust. A poorly heated baking stone can prevent the bottom from cooking, but a well-heated one (at least 40 minutes in the oven) can bring the crust from "lame" to "awesome". The temperature of the oven affects the quality of the interior and the crust. When scoring the dough, you can do it right before it goes in the oven if you've let it rise properly and not too long. But if you wait too long, it will have already risen its max and won't produce a nice bloom. If you cook the bread too early, it will be too dense and heavy.
I'm still experimenting, but so far it's been a really awesome few weeks learning about bread. I feel like I will soon produce something awesome. So far I've made some mistake each time (overcooking, undercooking, failure to rise) and if I fix all my mistakes, I think it will work out well.