Where callbacks really shine are in asynchronous functions, where one function has to wait for another function (like waiting for a file to load). code example

Example: wait until a function finishes javascript

function firstFunction(_callback){
    // do some asynchronous work
    // and when the asynchronous stuff is complete
    _callback();    
}

function secondFunction(){
    // call first function and pass in a callback function which
    // first function runs when it has completed
    firstFunction(function() {
        console.log('huzzah, I\'m done!');
    });    
}