Recommended · for beginners
Tutorial 02 for Arduino: Buttons, PWM, and Functions
Why people recommend it
Jeremy Blum's second Arduino tutorial, often pointed to for explaining button debouncing and why a pull-down resistor is needed on an input.
Watch for: Beginners stuck on flaky button input
In their words
I just watched this excellent video tutorial that shows a simple Arduino program that toggles an LED via a pushbutton.
smeeb on arduino.stackexchange.com, May 2015. CC BY-SA.