simplistically put Configuration file binds code to the hardware on which the code should execute, hence there is always a default config file (unless explicitly specified) that is used when a job runs. So even server jobs need a CPU to get executed hence the config file.
check this one out if it helps: http://mydatastage-notes.blogspot.com.au/2013/04/configuration-file.html
IBM docs have there own version which you can look up...