Although experts are not certain exactly why cats eat grass, there are many who believe that these are the reasons most cats practice this weird activity:
To Bring Up Hairballs
All cats have hairballs once in awhile, but some cats with long fur may have constant hairball issues. Many times, these cats may have trouble coughing up those hairballs and they may eat something (like grass) that will make them vomit to help them bring up the hairball. Grass makes cats vomit because their digestive system is not equipped to digest vegetable matter such as grass. Eating grass and vomiting in this way is not dangerous or harmful to your cat in any way and is no reason for a trip to the veterinarian if you know that your cat is just doing it to get rid of hairballs.
Vitamin Deficiency (folic acid)
Grass contains folic acid (which is a B vitamin) as well as other nutrients, so if your cat is lacking in any vitamins he may decide to snack on some grass. Folic acid is important in producing oxygen and proper growth. Lack of folic acid can also lead to anemia.
Anemia
Anemia in cats is a lack of red blood cells in the circulatory system. These red blood cells contain iron and help pick up and transport oxygen from the lungs to the rest of the body. This can be caused by many different issues such as poor nutrition, blood loss, or the destruction of red blood cells due to an underlying illness. Some other symptoms besides eating grass include eating other non-food items (pica), lethargy, loss of appetite and weight, pale gums, weakness, and jaundice (yellow skin inside ears).
To Vomit Up Non-Food Items
Similar to hairballs, some cats will eat grass because they need to vomit up something in their system such as bones from prey they have eaten. The grass is not tolerated by the digestive system and will produce an almost immediate urge to vomit in most cats.
Enjoyment
Cats do strange thing sometimes, just because they can. They may like the way the grass tastes or maybe just playing with it because it moves around. There is no harm in this activity.