Another possible reason dogs eat rocks is due to an enzyme or iron deficiency or even worms-yuck! Other reasons include boredom and loneliness.
Playing with rocks is quite common with puppies because they want to explore things, and similar to babies, they like to examine objects by putting them in their mouths.