According to Petwave, there is a general consensus among veterinarians that dogs eat dirt because they are lacking in nutrition, exhibiting a behavioral problem or are simply bored. Pica is the term that describes the eating of non-food items. As noted by the ASPCA, when dogs eat dirt occasionally the cause is most likely boredom. However, if eating dirt is a regular habit, it may be a compulsive behavior that requires expert attention.
According to the ASPCA, puppies commonly eat items such as dirt as part of their exploration of the world. Young dogs usually grow out of such behavior. An adult dog that eat dirt may be trying to correct a dietary deficiency. Its regular diet may not be giving them enough minerals, so the dog compensates by eating soil.
As noted by PetMD, Dogs have various nutritional needs that must be met through a balanced diet. Pet owners that notice their dog eating dirt may want to look into the type of dog food given to the pet. Some dog breeds require more mineral intake than others. Switching the dog's diet may resolve the soil eating.
If the dog is eating dirt because it is bored, the ASPCA advises owners to provide the dog with additional stimulation through activities, toys or increased companionship.
As long as soil-eating is an occasional activity, it is unlikely to harm a dog's health. However, if it is compulsive and frequent and there is no underlying physical problem, the pet owner may need to modify the dog's behavior by providing more interactive play sessions and exercise to help distract the dog.