Callback hell occurs when multiple and deeply nested callbacks are used, leading to difficult-to-read and maintain code. 
This is a common issue when dealing with asynchronous operations. To make code more organised and readable, you can use techniques like 
- named functions
 - modularisation
 - Promises
 - async/await to