A dashboard warning light communicates far less than drivers assume. It reports that a monitored value has left its expected range, and nothing about the cause.
The light is the end of a long chain
Control units monitor sensors continuously and compare readings against expected values derived from other inputs and from stored models of how the system should behave.
A discrepancy that persists beyond a defined threshold sets a fault code, and only certain codes are configured to illuminate a lamp on the dashboard.
The lamp therefore represents a decision made in software about what the driver needs to know, rather than a direct measurement of anything.
One symbol covers a very wide range of faults
An engine management light can indicate a loose fuel filler cap allowing vapour to escape, or a failing catalyst, or a misfire that will damage the exhaust system.
These sit at completely different levels of urgency, yet the driver sees the same amber symbol because there is only one lamp available for the whole system.
Colour convention helps a little, with red generally indicating that the vehicle should be stopped and amber indicating that attention is required soon.
Flashing usually means something different from steady
A steadily illuminated engine light typically indicates a stored fault that is not causing immediate damage, and the car can normally be driven to a workshop.
A flashing one usually signals an active misfire, which sends unburned fuel into the exhaust and can destroy the catalytic converter within minutes.
That distinction is documented in the handbook and is one of the few pieces of severity information the dashboard actually conveys.
Codes name a circuit, not a broken part
A fault code identifies which monitored signal was out of range and in which direction, which is a description of a symptom rather than a diagnosis.
A code naming a sensor frequently results from wiring, a connector, or the condition the sensor is correctly reporting, rather than from the sensor itself.
This is why replacing the component named in the code is unreliable, and why proper diagnosis involves live data and testing rather than a code reader alone.
Clearing a code changes nothing physical
Erasing stored codes turns the lamp off and resets the monitoring, but the condition that set the code remains and the light will return once the test runs again.
Clearing also erases readiness monitors, which are the self-tests an emissions inspection relies on, and those take a full drive cycle to complete.
Intermittent faults are the most difficult case, because the freeze frame data recorded at the moment the code set is often the only evidence available.