Debounce is a term used in the context of electronics and programming (especially in mechanical keyboards) to describe a phenomenon whereby a single press or release of a button or key can result in multiple unexpected signals due to mechanical vibrations and state transitions.
When a mechanical key is pressed or released, mechanical vibrations occur that can create unstable electrical contact. This can cause a key to change state (from high to low or vice versa) multiple times during a single press or release, even if the user only intended to perform a single action.
The debounce problem is alleviated using specific software or hardware. Software debounce includes processing key readings with a certain time interval and determining the stable state of the key. If the state of the key remains stable for a certain period, then the reading is considered valid.
This is especially important for mechanical keyboards as they are prone to mechanical vibrations and "jitters". Applying debounce helps avoid unwanted double-clicks or key-releases and improves input accuracy.