None of those are required, but they can all help in certain situations. By Algae eater I assume you are talking about a algae srubber. They all serve different purposes
Carbon is used to pull contaminants out of the water. There is some evidence that running it permanently can increase HLLE disease in fish like tangs
Refugiums are used to culture 'pods that are eaten by fish when they make their way into the tank. This space can also be used as a 'timeout' box for problem fish if designed correctly. Macro Algae can also be grown here to absorb excess nitrates and phosphates from the water
Algae scrubbers are like macro algaes on steroids, they also pull nitrates and phosphates out of the water.