Some veterinary nutritionists have suggested that dogs eat stool to replenish enzymes so that they are better prepared to digest their food. There is also evidence that dogs that aren’t getting enough of certain nutrients will resort to eating poop. A lack of vitamin B is often said to be a cause of coprophagia.
In the wild, during lean times, a dog would eat it’s own feces to extract any traces of nutrients left. A mother dog is hardwired to keep the nest clean. She licks her puppies to encourage them to eliminate, then licks them to dispose of any sign and smell to avoid predators finding the nest. A submissive member of the pack may eat the feces of the dominant member. A dog harshly scolded for inappropriate elimination may try to clean the evidence. Dogs may eat poop out of boredom. Fresh cat poop is so stinky most dogs find it irresistible!