Short description: A systray application is used as an icon to show an application is loaded; or simply to show the status of something without having a window for the application.
Long description: Unlike usual windowed applications an application using the systray keeps running even after all its windows are closed. However unlike applications residing in the panel a systray application never has a custom user interface but is always represented by an icon. Systray applications are so called GUI daemons, i.e. they are automatically started as part of KDE's start up (without showing anything but its systray icon) and represent services (e.g. checking for new emails) in an undisturbing way.
Left clicking on the systray icon will show/hide the main interface of the application accompanied by a window animation (see below).
Middle/Right clicking will show a popup menu with at least a quit as last entry and a configure... as second last entry. For consistency both entries should be accompanied by the respective sytem wide standard icon for quit and configure. Other than those two obligatory entries the popup menu can be changed to the programmer's liking.
Content: The main interface shows the application's name and a short description of its purpose (in case it is not apparent to casual users). It also offers alternative means to quit and configure the application for users who are unable to access the respective entries in its popup menu. Ideally the main interface also shows statistics related to its service (e.g. an email checking service can show the time it did the last check and the number of un/read emails on the mailserver, the possibilities are vast).
Windowed applications as systray applications: A windowed application is never using the systray itself. By definition a windowed application is started manually by the user and quits after its last window has been closed. Systray applications are started automatically and keep running after all of its windows are closed. However a windowed application can offer a service as systray icon in which case it needs to ensure that the service will not disappear after all windows are closed and that it will be started automatically at the next KDE start up without showing anything but the systray icon. This and complying with the rules mentioned above will make it a true systray application.