Two unrelated groups of fish go by the name "angelfish" -- a genus of freshwater cichlids and a family of reef-dwelling marine fish. Different groups of angelfish have very different compatibility requirements.
Common Freshwater Angelfish
Common freshwater angelfish (Pterophylum scalare) often show up in pet shops. Selective breeding has produced a number of color varieties. These fish are generally peaceful and can share a tank with other peaceful medium-size fish. Large, peaceful catfish, tetras and South American cichlids can share a tank with the common freshwater angelfish. However, the common freshwater angelfish is a notorious predator of smaller fish. Avoid keeping the species with small fish like neon tetras and guppies, or any fish in that size range. Specifically, avoid fish smaller than 2 inches.
Wild Freshwater Angelfish
Altum angelfish (P. altum) are rarer freshwater angelfish. Since they still come from the wild in most cases, they are more delicate and more particular about their water conditions than P. scalare. You should keep altum angelfish only with other fish that need soft, acidic water. Like their more common cousins, altum angels will eat small schooling fish under 2 inches in length. Discus fish, similar cichlids from the same general area, make great tank mates since they have similar care requirements. The even more rare Roman nosed angelfish (P. leopoldi) has similar care requirements but stays small enough to share a tank with any fish larger than an inch long.
Saltwater angelfish are all somewhat aggressive. However, the exact degree of their aggression varies across the hundreds of species of angelfish. So research the specific angelfish you wish to keep. In general, most aggression is between males of the same or similar-looking species. Saltwater angelfish will generally ignore other, non-angelfish species. Most grow very large, at least a foot long, so avoid anything small enough to be bite-size.
Dwarf Saltwater Angelfish
Dwarf or pygmy angelfish (Centropyge and Paracentropyge spp) are smaller saltwater angelfish, most under 4 inches. They are similar to their larger relatives, but their small size alters their compatibility. You would be hard-pressed to find a fish small enough for them to eat, so cannabalism is less of a concern with these fish. Like their larger relatives, their temperaments range somewhat across the different species, but some generalizations can be made. In most species, you should never keep more than one male -- or similar-looking males of other species -- since they are most aggressive toward their own species. Most dwarf angelfish won't bother other small fish that do not resemble themselves, making them suited for sharing a tank with clownfish, damselfish and wrasses.