To check things like disk usage or running processes on your servers, you need some parameters for that checks, eg thresholds for disk usage or which processes should be running on your server.
You can hardcode that parameters in your checkscript. But that's bad, because you need new scripts for every server you run.
You can write your parameters in configuration files locally on your servers. This is possible, maybe this is handy for you and you can do that with OpenSMART
But there are reasons to change parameters for all your servers in one place and not spread over many servers.
Although local configuration files in OpenSMART are absolutely usable, you can place all your thresholds and parameters in a database (with a nice frontend to it) and the agents will ask the configuration server to give them all the parameters for that agent.
The configuration server generates a XML file from the database and returns that file back to the calling agent.