Soap and water go a long way to start. If there is some mold, we will either use specific mold abatement products, or just add a few ounces of "chlorox" to the soap and water.
If there are rust stains, or stains along the waterline, which don't come off with soap and water, I use oxalic Acid. You can get the granules from any paint or big box hardware store. Make a saturated solution--wear nitrile gloves to protect your hands (eye wear to protect your eyes). You can buy stain removers, but they all contain oxalic acid. I do use Bar Keeper's friend for some deck stains--it has a very mild abrasive, along with the oxalic acid.
There are a number of cleaners, if it is just dirty, Any of the auto cleaning waxes can do a simple and quick job. Collinite mades a great line of products for cleaning and waxing. Colinite 920 fiberglass boat cleaner followed with a good coat of Collinite Fleet wax 885 is a very durable product.
If the gel coat is heavily oxidized then you have to consider more drastic measures. A severe oxidation might require wet sand paper, starting at 800 grit up to 2000 or 3000 grit. I much prefer compounds. 3 M makes good ones" Start with 3 M heavy duty compound, purple container "Perfect it", There is a whole series of "Perfect it" thru polishes and even wax. I have used the 3m finesseit system up thru the polish and then Collinite Fleet wax. Some use Meguiar’s Marine/RV Pure Wax Carnauba Blend,
Some people swear for and others swear at polymers like PolyGlow. I suspect that the cabin top and eyebrow of my current boat had that done....
The buffer makes a lot of difference. If you have to do heavy cutting, a constant speed 6 to 7" buffer makes a lot of sense. The Makita 9237CX3 for a bit over $200 is probably the best tool. I happen to own a Porter Cable which is similar.
A wool pad, and ability to clean it regularly with muffin pad cleaning spur is essential for the cutting phase. Some use foam pads of different qualities.
My boat is at a place where I just wax it 2 to 4 times a year, after a go over with a cleaner. I have several random orbital buffers--cheap--which I use for application and then the cleaning--wax application and then buffing.