Because, if someone sets the displayfield it will be used, else the valuefield. And if the displayfield is an empty string, than this should be displayed!
A good example is, when I got a combobox, with an empty string to display, but another value to use.

The "c" is mostly used, when working with webservices (.net). The databases mostly uses dateTime to save dates. But you are right - not all formats can be added in the adapter.