Four specific problems account for most of the searching, and two of them have honest answers people do not want.
Rust marks. Usually run-off from something metal above the window, a bracket, a fixing or a hanging basket. Warm water and detergent lifts fresh marks. Do not reach for a rust remover: the acid in it damages uPVC and gaskets. Fix the source or the marks return.
Mould on frames and seals. Detergent and a soft brush, then address the cause, which is condensation rather than dirt. Mould on window seals is a humidity signal, and our condensation guidance covers the ventilation side.
Scratches. Not removable without abrasives, and abrasives cause worse damage than the scratch. On aluminium surfaces our guide describes a repair by sanding and applying metal paint, and states plainly that this type of repair will always be visible.
Deep scratches are a cosmetic fact rather than a fault.
Yellowed uPVC. Cosmetic, permanent, and not improved by any of the whitening products sold for it. Chemical whiteners work by attacking the surface, which leaves it more porous and quicker to discolour again. Yellowing affects nothing about how a window performs, and painting is the only real change of appearance available. Our guide to painting uPVC covers what that involves.