I got an e-mail this week asking why this person's dog eats feces. This tends to be a common problem, and like the question,"Why does my dog eat grass?", there is no "true" answer. It's thought that corprophagia (the technical term for poop-eating) occurs more in female dogs than in males. This has lead some people to speculate that it is related to maternal behavior. Most female dogs will "clean up" after her pups for the first few weeks.
Some people have suggested that these dogs may have a nutritional deficiency. However, there are a few studies on pancreatic insufficiency, another fairly common disease that occurs when the dog's pancreas no longer produces the enzymes necessary to digest food properly. Most of these studies report corprophagia as a presenting symptom. This makes nutritional deficiency unlikely.
Other theories suggested include, poop being similar to bugs in the earth (I'm not making that one up....), dogs trying to cover their tracks and various mental defects. I don't have a good answer, but the one I think will win out in the end: because it tastes good to them. Listen, your talking about a species that would rather drink out of the toilet than the fresh water you just put down. There's perfectly good dog food in the house, but they would rather have 3 day old possum. As much as I like my dogs, we're not talking about nuclear scientists here....
As for ways to stop the behavior. Like most behavior problems, you can use food additives (such as Forbid, which does work well in my opinion), avoidance collars, and all kinds of voodoo. The best way to fix the problem.....you're just going to have to pick the stuff up.