Why callback function is used?

Both the methods gives the same output, then what’s the use of calling a callback function in method one??
Which is the correct way ? Can anyone please explain?
//Method One
function one(call_two){
call_two();
setTimeout(function(){
console.log(“Step 1”);
}, 2000);
}
function two(){
console.log(“Step 2”);
}
one(two);

//Method Two
function one(){
setTimeout(function(){
console.log(“Step 1”);
}, 2000);
}
function two(){
console.log(“Step 2”);
}
one();
two();

The main difference here is that in the first method the callback function is executed by the function you passed it in to, while in the second method you have to explicitly call the function.

Callback functions are often used when you want the function to execute at a later time. For example, when you create an event listener for an element on the page and you want it to do something when it catches the event, that something is the callback function you passed into the listener when you created it. In other words, the callback function will execute at the time the event listener catches the event. You do not have to call the function yourself.