There can be several reasons for this depending on the age and the current diet of the dog.
In adult dogs, eating dirt is called 'pica' which basically means eating abnormal things. It can be caused by certain medical problems, the main one being abnormalities within the liver, so if an adult dog suddenly starts to eat things like dirt, when it never has before, a blood test to check the liver enzymes is always a good idea.
Here's a link about pica where you can get a little more information on it: http://www.petplace.com/dogs/pica-in-dogs/page1.aspx
There can also be behavioral reasons for eating dirt, but medical reasons should always be ruled out first, and you can have those ruled out with a quick visit to your regular vet.
I hope this helps!