My dogs had grass in their yard years ago, but they killed it all by digging giant craters. Now they just have dirt.

When I let them out in the grass front yard, or take them to the park, they all eat grass like crazy.

My guess is that there is something in grass that dogs need, in a small quantity. Perhaps a dog that always has access to grass just nibbles a few blades here and there, and gets what they need. But dogs that only have access to grass once in a while wolf down a lot of it at once.

I, too, have noticed shelter dogs kept on concrete and dirt doing this.

I have heard that the "dogs eat grass when they feel sick, because it makes them throw up" theory is actually a myth. I don't know for sure ... but my dogs don't usually throw up after eating grass.