Watches in programming are tools used by developers to track the values and changes in specific variables throughout the execution of a program. They are commonly used in debugging sessions, providing live updates when the value of a watched variable alters. This helps developers to identify errors, understand program flow and foresee potential issues. Watches are supported by most Integrated Development Environments (IDEs) and debuggers.