There's really no exact explanation as to why dogs eat grass. Some dogs eat grass and then threw up after awhile. Some on the other hand, don't get to threw up. Perhaps, however, dogs eat grass because of either of the two reasons. First, to help settle their upset pelvis. Second, to help digest food.