Depends on you knowledge level, Chemspec I believe have the best range of stain removers and detergents so as a beginner or average carpet cleaner I would stick to that brand.
Once you start to become an expert😎😎 then the world is your oyster! You can looking at the base ingredient of the stain removers and create your own or find similar chemicals from other industries eg oxidising bleaches from the hairdressing industry or reducing bleaches from home brewing or acetone used by nail salons