They are used by all kde-applications (since they are implemented in KApplication and all good kde-programs create a KApplication object before they even look at the command line arguments).
A standard line for a KDE application looks like this:
foo ..... %i %m -caption \"%c\" |
Pretty confusing, but it has been designed in that way to be able to integrate legacy, non-KDE applications as smoothly as possible.
KFM when executing the line from above will extend the command to
foo -icon something.xpm -miniicon something_mini.xpm -caption \"The Foo\" |
Both the icon and the mini-icon as well as "The Foo" are properties defined in the kdelnk file. If the icons are not defined, they simply default to the executable name "foo".
This way a user can change these things in the menu-editor for his or her applications. "-caption" is important, because no user will accept that the menu item "Editor" starts something called "kedit-0.9pl4-build47". Instead, he expects a window called "Editor". Furthermore these names are localized, i.e. an American launches "CD-Player" and gets a window called "CD-Player" while a German launches "CD Spieler" and gets a window called "CD-Spieler".