What is Debouncing in JavaScript, and why do we need it?

Debouncing is a technique where we delay the execution of a function
until the user stops performing an action.