Trivial questions

The #define is not declaring or defining a variable. It is simply a substitution rule.

#define foo bar

then when foo shows up in subsequent code, it gets replaced by bar. Normally only complete match is replaced so foobar won't be replaced by barbar. Also foo inside a text string is not replaced.

This command is called a preprocessor directive. The substitution occurs before the code is compiled.
There are a lot of good use for this. If you want to blink an LED, you can do:

digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);

But that would suck if you want to blink a different pin. You have to change pin number in multiple lines and pray not to make a mistake. But this will work much better.

#define Led 13
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);