Planting vegetables, herbs and flowers together is one of the oldest ways to create a healthy, bountiful garden. Companion planting is planting certain plants in order to improve the health and yield of others. Some plants attract beneficial insects that help to protect a companion, while other plants (particularly herbs) act as repellents to unwanted garden pests, while some provide fertility to the soil and nearby plants (nitrogen fixers like beans) and other provide shade and supressing weeds around the feet of another plant to reduce competition for nutrients and water.
As a Permaculture Designer, I use companion planting in all my designs, which is completely opposite to conventional agricultural or gardening practises of mono-culture planting, of which we are doing the complete opposite which is a poly-culture planting. Mother Nature has only devised poly-cultured systems which have thrived for centuries on their own, and humans have created mono-cultured systems heavily dependent on non-renewable resources. Who do you trust???