A daemon is a program that runs in the background, rather than under the direct control of a user. If you are more familiar with DOS or early Windows, this kind of program would be known to you as a TSR (Terminate and Stay Resident) program. In NT systems, you would refer to these as services. Unix users might use the name daemon, background processes and service with rough equivalence, especially when speaking to a general audience.
In FreeBSD, programs that are run as daemons will (usually) have a "d" appended to their name, e.g., sshd, named, etc. Loosely speaking, a daemon is any process that runs in the background (instead of interactively). If an interactive process such as a shell is used to start the daemon, the daemon continues to run after the interactive process is closed. In FreeBSD, daemons are ordinarily started by init at bootup, and stopped by init at shutdown.
The name comes from the old Greek (daimon, δαιμων), referring to inferior spirits that do things the gods would rather not be concerned with - like do work.
It matters when and how a daemon is started. Carelessly started, a daemon might leak information to the world about your username and other information or capabilities exported from your login environment, provide the world with access to underlying instances of the main daemon process, bog down or stop your machine with too many instances of itself, open so many file descriptors that you are prevented even from rebooting the machine, serve as a proxy for the malicious use of other programs, and so on. Be aware of the security implications of your configuration and startup options.