On-Board-Diagnostic (OBD) trouble codes are one way your vehicle communicates with a mechanic. Every car built since 1996 has an OBD computer system that monitors and identifies issues. In particular, it looks for issues that may result in harmful and polluting emissions from exhaust gases. When this system identifies an issue it turns on the check engine light and records an OBD code.
OBD codes are accessed by plugging a code reader into the vehicle's OBD port. These codes provide a mechanic with information about the system and the conditions under which the issue was first identified. However, they can't provide a clear-cut solution to the actual cause of the problem - only clues for where to look.