Meta Data Files
kJams creates ".xml" files next to the media files in order to store the meta data related to that file. (Inside the xml file, the data have the same tags as used in the Xattr format.) Meta data includes song name, artist, album, track, but it also includes kJams specific data like whether there are backing vocals, beats per minute, comment, composer, date, duet, genre, key, color label, pitch, tempo, rating, rendition, sync-slip, trim start and end, volume, etc etc. Some file formats, like MP3, Ogg/Vorbis and QuickTime ".mov", allow you to store some meta data WITHIN the media file itself, but many simply don't, so the data must be stored elsewhere. Plus, even with those that allow meta data within the file, many don't let you put JUST ANY data in there, they only allow certain kinds. kJams needs to store ANYTHING it wants as meta data, even pictures, whole biographies (for singers), and lyrics with timing (for obvious reasons).
kJams does store a small subset of the meta data in it's own "Songs.ktd" database file, just enough to get kJams running quickly without having to scan every single media file for it's meta data. The reason the xml file is stored WITH the file should be obvious enough, it really IS part of the file. If you share the file with someone else (not your database, just the music) then the meta data *should* go with the file. If you need to rebuild your library from scratch (due to some failure, or just because you want to) then the meta data is there, rather than lost in a database file on some other disk.
You can delete the xml file but you'll be deleting important information that is not stored elsewhere.
For more info on what exactly this is good for, see Adobe XMP. XMP is the exact same principal, they want the data to live WITH the file. XMP tries to store the data inside the file, but when it can't, it creates a "sidecar" file just like kJams, storing the meta data NEXT TO the file rather than within it.