Grass-type Pokémon are usually calm, pacific and like to take care of flowers, plants and nature itself, but are also great fighters and can poison, paralyze or sleep the target. Most of the times, the Pokémon have part of a plant, thus their growth is really similar to that of a plant. Some of them also grow berries, flowers and leaves, and many of them can control their growth.
Grass-type Pokémon usually have combinations with the Bug and Poison types. The last one is because many plants are poisonous. The Grass type is the type that has most weaknesses (along with Rock). The best type moves a Grass-type Pokémon can learn is Rock, because it covers 4 of its 5 weaknesses (Bug, Fire, Flying and Ice).
They're strong against the Ground type because plants absorb minerals from it and open through the ground using their roots.
They're strong against the Rock type because plants can crack stones and rocks using their roots.
They're strong against the Water type because plants absorb water for their own benefit.
They're weak against the Bug type because insects eat plants.
They're weak against the Fire type because fire can easily burn plants.
They're weak against the Flying type because many birds eat parts of plants (like fruits and leaves).
They're weak against the Poison type because poison is used to exterminate unwanted herbs. It could also be said that Poison represents pollution and Grass the nature, and nature is damaged thanks to pollution.
They're resistant against the Electric type because plants are made of materials that don't conduct electricity, like wood. Also, plants divert electricty to the ground.
The Steel type resists them because plants can't degrade metals.
The Dragon type resists them because in ancient mythology, dragons were immune to forces of nature (Grass, Water, Electric and Fire).
All Grass-type starter Pokémon resemble a lizard/dinosaur of some sort. The exceptions are Chespin and its evolutions.