button blink led, why the extra variable?

This is my first arduino project and have no programming experience. I'm setting up the basic "push button- led blinks" sketch. I've wired pin 13 to and LED with a 220ohm resistor, and pin 2 gets powered up with 5V through a pushbutton, and there is 10k pull down resistor to ground. The circuit is right I think because when I upload the example sketch it works perfectly. There is a variable in the example I didn't use "buttonState". I'm sure it's there for a reason, but don't understand why my program won't work. I pasted mine 1st below, and the example below that. Any help explaining why would be greatly appreciated!

mine:_____________
int button = 2;
int led = 13;

void setup() {
// put your setup code here, to run once:
pinMode(button, INPUT);
pinMode(led, OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
if (button == HIGH) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}

example:___________________
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin

// variables will change:
int buttonState = 0; // variable for reading the pushbutton status

void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);

}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}

Hint: In your code, where do you check if the button is pressed?

Should be:

if (digitalRead(button) == HIGH) {

ahaa, I see, you have to make it read that value, it isn't just going to look there automatically. Hmmm lots to learn. I added "if (digitalRead(button) == HIGH)" and it worked. Question...whats the difference between "if digitalRead()" and "if (digitalRead())"

It's called syntax. C and C++ require parentheses around the expression used in an if statement. The compiler requires it.

By the way, digitalRead(...) is documented to return LOW or HIGH, not false or true. It currently works out that LOW is false and HIGH is true, but it is not guaranteed to stay that way in the future.

whats the difference between "if digitalRead()" and "if (digitalRead())"

The first one does not have the test condition(s) in brackets and is wrong, and won't compile