A variable is a symbolic name associated with a value and used to store data in programming and mathematics. It can be changed or updated during the execution of a program, allowing for dynamic manipulation of information. In programming, variables are typically defined by a name and a data type, which dictates the kind of values they can hold (e.g., integers, strings). They are essential for creating flexible and reusable code.