State Change Detection with Debounce, Arduino for Dummies, Page221.
Debounce delay is included to prevent false readings from noise in the button. While the debounce delay period is imperceptable a button press will only be recognised once the debounce delay period has passed.