A faultcode is what the ecu detects. It doesn't always lead to the cause of the fault. A component problem causes a knock on effect that results in an error code.
As an example, my Gems Plus8 detected " random intermittent misfire", It did not say what was dausing it. Next came checks to find the culprit. Plugs, leads, electrical connections, component checks.It was solved by changing to V-Piwer hiigher octane fuel.
Further more in depthchecks might have sorted it. Injectors, valves etc but they are bigger/expensive jobs.
At MOT my car was always near the limit for lambda test...Oxygen sensors being the hub of these.