function_cb is a function pointer and it will not get call but depending on the situation the callee will call the function (pointed by the function pointer)

I will give you an example.
1. Say you have a function which updates the progress bar for some copy of files operation.
2. When any chunk of file is copied successfully you call the function.
3. Function does it job to update the progress bar.