A .kext file is a kernel extension. They're generally used for device drivers and other things that need to modify the system at the lowest level. They're not the same as classic Mac OS extensions, as many of the things that classic Mac OS extensions did are done differently in Mac OS X.
Since kernel extensions aren't protected by Mac OS X's memory protection, developers are encouraged to stay away from writing them unless they absolutely have to. Even then, Mac OS X can dynamically load them, so chances are you'd rarely have to add anything to Mac OS X's Extensions folder.
An XML file is a file that uses eXtensible Markup Language. It looks a lot like HTML when you first see it, but whereas HTML describes web pages in a specific format, XML can be used to describe any set of data.
http://www.XML.com can provide you with some good information on how it works. Apple uses XML extensively throughout Mac OS X to store various settings, mostly in a "Property List" (.plist) format.