What does the sea urchin eat?

Sea urchins mainly eat algae and coral. However, they also are known to sometimes feed on decomposing matter such as dead fish.