There are three kinds of plants for ponds and most ponds need all three.
Underwater plants, like anacharis, elodea and fanwort provide oxygen directly into the water. They soak up excess nutrients from fish waste.
Emergent plants, such as cattail, arrowhead, aquatic irises, water lilies and papyrus, have their roots below water but their foliage and blooms are above.
Surface plants, like duckweed, water hyacinth, bladderwort and water lettuce shade the water and prevent algae from growing. They also trap sediment in their roots that dangle in the water.
Fifty to seventy-five percent of the water surface should be covered with plant foliage. Water lilies are excellent for this because their broad leaves float on the surface.