Running rich means there's too much fuel being sent to the cylinders compared to the amount of air available to burn it. As far as I can tell (I'm not a specialist though, it's just things learned on the fly), this can be due to:
- temperature sensor: the engine is normally running rich when cold, the mixture should get leaner as it warms up - a faulty sensor underreading the temperature will make the ECU believe the engine is always cold
- MAF (mass flow sensor): this counts the amount of air entering the burning cycle, if overreading it could cause the ECU to send too much fuel to the engine
- faulty injector(s): they're supposed to close completely (stop injecting fuel) at precise intervals during the cycle, if they don't close properly (aka "leaking injector(s)"), fuel still goes in when it shouldn't and there isn't enough air to burn it
- split hose(s), causing the air to leak out instead of being sent to the engine
- faulty lambda sensor: sits in the exhaust and analyzes the % of oxygen in the exhaust gases - if overreading the % of oxygen, it will make the ECU believe it's running lean, so the ECU will increase the amount of fuel being sent to the engine
Anyone else with more experience, please feel free to correct me or add to the above list.