1) Variables are used in programming to store and manipulate data values. They must be declared with a name and data type.
2) Variables can be initialized during or after declaration by assigning them a value. User input can be obtained and assigned to variables using functions like Console.ReadLine().
3) Constants are variables whose values cannot change once declared, while the scope of a variable determines where it can be accessed within a program.