These Datfiles are used by rom managment software such as clrmamepro, RomCenter, Romulus and RomVault.
Emulators allow one to run applications and games in an environment for which they where not originally designed
Play Nintendo 64 games on a home PC, Play Nintendo Entertainment System games on a Sony PSP, or Play old arcade games on a Linux or Windows PC.
These are files that add additional fucntionality or information to an emulator usually via a frontend.
Frontends are GUIs (Graphic user interfaces). These are generally designed for command line programs. They may also be more detailed GUIs (pronounced Gooeys) that allow more features to be easily accessed for a particular program or multiple programs.
Things that don't quite fit into any other category.
PlugIns are used by Nintendo 64, PlayStation, PlayStation 2, and a few other emulators. These control such things as graphics, sound, controllers and more.
Emulation related tools and utilities.