Variables are used to store and modify different data types like numbers, text, and booleans. Common variable data types include integers, longs, floats, doubles, booleans, and characters. Variables can store data through assignment like setting the number of days in a week to 7 or an employee's name. Data in variables can also be modified through operations like adding, multiplying, and reassigning values. Variable names must follow certain rules like not starting with numbers and not using the same name as Java keywords.