What are Callbacks in JavaScript & How it works?

I am struggling to fully understand the Callback function in JavaScript. I know that when we put a function inside another function as an argument that is called Callback function. But I am confused how it actually works & what’s the most use cases of it. Is it part of asynchronous javascript ? Someone please explain this in details with real examples. Is the addEventListener a callback function & does it works asynchronously ?