Throttling restricts the number of times a function can be called over a certain amount of time whereas debouncing makes sure that a function isn't called until after a certain amount of time has passed since it was last called.