The internal architecture of cinnamon-settings-daemon consists of a number of plugins, which provide functionality such as printer notifications, software update monitoring, background changing, etc. For debugging purposes, these plugins can be individually disabled by changing the gsettings key org.cinnamon.settings-daemon.plugins.plugin-name.active, where plugin-name is the name of the plugin. To see a list of all plugins, use the command gsettings list-children org.cinnamon.settings-daemon.plugins
cinnamon-settings-daemon takes the name org.cinnamon.SettingsDaemon on the session bus to ensure that only one instance is running. Some plugins export objects under this name to make their functionality available to other applications. The interfaces of these objects should generally be considered private and unstable.
cinnamon-settings-daemon is a required component of the Cinnamon desktop, i.e. it is listed in the RequiredComponents field of /usr/share/cinnamon-session/sessions/cinnamon.session. It is started in the initialization phase of the session, and cinnamon-session will restart it if it crashes.
cinnamon(1), cinnamon-settings(1), cinnamon-session(1)