I collect cichlids in nature, and find if there is an area where (for example) 3 species coexist, each one has a separate feeding strategy, and has a different shaped mouth type that displays that strategy.
You will hardly ever find 2 of the same genus, or 2 predators in the same area of at least an acre.
One of those areas I collect cichlids in nature, is a stretch of river in Panama that has 3 species that share a space of about an acre.
In that stretch, is
Darienheros calobrensis, a picker that eats crustaceans, and snails it pulls from interstitial spaces between stone,s in rocky areas.
There is Isthmoheros tuyrensis that is predominantly a vegetarian (similar to Vieja) that eats algae, grasses , detritus (leaf litter), and fallen fruit from surrounding vegetation.
and Andinoacar coerleopunctatus an omnivore that prefers to eat in sandy areas, sifting for edibles.
None of these species imposes on the others feeding areas, or preferred edibles, so a peaceful equilibrium is maintained within that acre.
They each also prefer different flow rates,
the Darienheros in high flow areas,
the Isthmoheros in moderate flows,
and the Andinoacara in sedate pools, near cover.
Below is that stretch of river
there is a predator cohabiting there, but it is not a cichlid,..... it is Goby.
.......but........for every 1 cichlid, or 1 goby, there are at least 50 tetras,
I know we aquarists that like cichlids, want to cram as many in a the small space of a 6 ft tank, but the reality is quite different.