Angelfish can be the ideal roommate or they can quickly go to the dark side. It's all in who you select to share their tank.
There are three things that go through an angelfish's little brain when they see another creature: Can it eat me? Can I eat it? Can I have sex with it?
Never put baby angels in a tank with other fish. A baby angel is anything whose body is smaller than a quarter. They are slow fish because of their tall fins and they can not out-swim tetras or predators. More aggressive fish will nip their fins.
Never put barbs in with angelfish. They love to munch on those long, beautiful fins. And as angels grow larger, they get even slower. Barbs are fast and are usually kept in schools so they can quickly surround an angelfish, hurt it, chew on it and make its life miserable.
Never put a fish small enough to fit into an angelfish's mouth in the same tank. This includes neon tetras, small guppies and ottos. They think you've given them a treat and the new little fish will very quickly come up missing.
So what works?
Long-finned tetras. Most of the tetras that are larger than an inch do well with angelfish but I prefer the long-finned variety, as they are naturally slower. If your angelfish are very shy, tetras will swim gleefully around them, showing them that there is nothing to fear - and you'll see your angels become calmer.
If you look closely at my tank here, you'll see a white long-finned tetra on the left and a fruit tetra beside the black marble on the right. I have about a dozen tetras in this tank.
Plecos. These fish get along very well with angelfish. Do not get Chinese Algae Eaters! They find the scales on an angelfish irresistible and they will hang on and suck until they have killed the fish.
Guppies. One angelfish breeder told me he had guppies in his tank and they got along very well. However, angels will eat guppy babies (and guppies give live birth) so you should remove any pregnant guppies.
Snails. Snails can clean the tanks of algae and uneaten food. Angels will be curious about them but they will not bother them. The best snails to get are mystery snails, which lay their eggs above the water line, making it very simple to remove before they hatch and take over your tank. And just in case they do hatch, angelfish love baby snails!
Corydoras. These fish are adorable and they can really liven up a tank. I keep them in all but my breeding tanks, as protective parents will attack them. There are so many varieties of them that you can have a lot of colors and designs. In one tank of mine, I have 7 angelfish, 9 corydoras and 1 pleco.
In the picture here, you'll see a small decoration with a "door" and "windows" on the left. This is a corydoras house. They prefer to come out at dusk or dawn. During the day, especially if the light is on, they prefer to sleep. They also like caves. So this allows them to sleep peacefully during the day without fear of an angel stumbling upon them. And if an angel did come upon them, they would just say "oops" and keep on going!