http://en.wikipedia.org/wiki/Daemon_(computer_software) - as for links for daemon, and description of what it is. But daemon only refers to mode of running of one instance of process; there is sometimes 'daemon' utility that can run any process not requiring input/output to console as daemon.
What you want about controlling it like other system daemons, is achieved by initscripts. Look at /etc/init.d/dhcpd (or /etc/rc.d/init.d/dhcpd, it varies). It is a shell script, that can take 'start', 'stop' and 'restart' parameters (sometimes such scripts can take some other parameters, like 'reload', but are only run with a single parameter). It then loads parameters from configuration files in /etc, decides what command-line is needed for daemon and either runs it ('start') or makes it know it needs to terminate ('stop'), usually by sending a signal that daemon will proceed (read man signal) or - if it is 15 (SIGTERM), for example - which will make OS terminate daemon.