High-order functions are functions that take other functions as arguments. These functions help abstract common patterns of code. For example, a high-order function could create a function that logs the arguments it is called with. This would be useful for debugging purposes.