Plants fight for nutrients
The soil has limited access to water and nutrients. It is in principle good for a plant to have as little competition as possible for these. So during evolution a number of solutions that limit the competition have appeared. One could be that the plant spreads its leaves as widely as possible, shading the other plants which thus become smaller, weaker and less competitive. This strategy would, however, be disastrous in a very dry and windy location.
Another way employed by certain plants is to use secondary metabolites, such as herbicides, which can be spread on the ground killing nearby plants. These herbicides can either be unspecific and toxic for all plants, or more specific and in that way not endangering their own species. Horse chestnut and walnut are spreading poisons and that is why you see few plants under such trees. Even certain water plants release sulphur compounds which slow up the photosynthesis of other plants and thus reduce the competition. This is often referred to as allelopathy.