There is nothing quite like an aquarium with live plants living in harmony with the fish. The benefits of live plants in the aquarium are numerous, they provide hiding places for fish fry, material to build nests, places to hide from aggressive fish, and they help reduce algae growth. Not all fish are suited for planted aquariums. Many fish will eat plants and dig up their roots. Many of the gouramis, livebearers, killifish, tetras, barbs, soft water dwarf cichlids, angelfish, discus, and small catfish are excellent choices for the planted aquarium.
Aquarium plants play a major role in keeping nitrate accumulation in the ecosystem under control. Without plants, nitrate will accumulate quickly, and necessitate larger and more frequent water changes.
There is a general rule you should remember when buying plants, "If it looks like a houseplant, it probably is." Many pet shops sell plants targeted to the aquarium hobbyist that are bog plants. These bog plants will start to decay after a few weeks being planted in the aquarium. Make sure the plants you choose are true aquatic plants. Plants that cannot support themselves out of the water are usually good choices for the planted aquarium. Avoid plants with rigid stalks and leaves. There are exceptions to these rules, like Anubias barteri and Anubias nana, but in general they are good rules to follow.
If you have fish that like to dig in the substrate, there are some choices of plants that float at the surface. Water sprite (Ceratopteris pteridoides and Ceratopteris thalictroides), crystalwort (Riccia fluitans), duckweed (Lemna minor), and water lettuce (Pistis stratiotes) are all examples of floating plants that can be used in an aquarium where rooted plants would not be possible. Keep in mind though, floating water plants limit the amount of surface area that is in contact with air. Increasing water flow can help offset the amount of gas exchange lost to floating plants.
In cases where the fish you are trying to keep eat plants, you can connect a hydroponic system or refugium to the aquarium to remove nutrients. Plants that grow in a hydroponic system are generally more efficient at removing nutrients than submerged aquatic plants in the aquarium, as they are exposed to carbon dioxide rich air, and the light is not filtered out by the water. The other option is to use a refugium for filtration that can also be used to house small fish or shrimp.
The type of plants you select for the aquarium will directly affect the rate of nutrient uptake. Fast growing plants will typically be the best choice for aiding in nitrate reduction. Fast growing plants will also use CO2 more quickly therefore you will need to have a good water flow to increase the amount of CO2 that will be introduced to the water column.