Please show how the switch (button) is wired.
I think that what is happening is that when you push the button the state change is detected and the LED turns on. Then a few microseconds later the loop() repeats and the button state is no longer different than the previous button state (because the button is still held down) so the LED turns off. So the LED turns on, but only for a few microseconds.
To test my theory, insert a delay(1000) below the preButtonState = buttonState; line and see what happens.
Take a closer look at the state change detection example to see how to fix your sketch.