ExifTool is a command line tool which allows you to view, edit and write metadata in a lengthy list of file types: audio, video, images, documents, archives and more.
So the program doesn't just handle the file formats where you can process metadata already (PDF, MP3 and JPG, say). It can also work with a host of proprietary formats: Adobe InDesign Documents, Visio drawings, many RAW formats, and more. And there's support for many file types which you may never have thought of as including metadata at all: RAR, WEBM, SWF and more.
At a minimum, ExifTool will be able to display, edit or write metadata to your chosen files (which can include a complete directory tree for speedy batch processing). But that's just the start. It can also process files based on their metadata, so for instance you're able to rename or organise files into directories according to some specified metadata tag. ExifTool can be used to extract thumbnail images from RAW files, very useful if the full-sized image won't display. And there are plenty of other unusual applications possible, such as geotagging a set of images based on GPS track log files.
There is a problem, though. As we mentioned above, this is a command line tool, so mastering its abilities will require much studying of the switches on offer, and mastery of some complex syntaxes. If you'd like to organise a set of files by their creation date, for instance, you might use a command like this:
exiftool "-FileName<CreateDate" -d "%Y%m%d_%H%M%S.%%e" DIR
Still, you can at least start more simply. Just dragging and dropping an image onto the executable is enough to display its metadata, for example. As you learn other switches you'll be able to add additional abilities fairly quickly. And if all else fails, there are some simple graphical front ends for ExifTool which you may prefer - the author's site has the latest list.
Version 9.78 brings:
•Added a new Nikon LensID and a new Canon LensType (thanks LibRaw)
•Decode a new unknown atom in Canon MOV videos
•Decode a number of new Sony tags (thanks Jos Roost)
•Decode a number of new Samsung tags
•Improved MakerNote compatibility when writing by adding the same amount of padding after the MakerNote IFD as that written by the specific camera model
•Changed the DNG BaselineExposureOffset to a signed rational (contrary to the DNG 1.4 specification, which specifies an unsigned RATIONAL, but obviously Adobe meant for it to store negative values)
•Changed name of new QuickTime Rating tag to RatingPercent
•Fixed problem introduced in 9.64 where multiple list values from some tags in ZIP-based files were extracted as separate tags instead of as a list when the -struct option was used, and implemented a different patch to just suppress the structure warnings without changing the 9.63 behaviour
•Fixed problem where some EXIF information in MOV videos could be corrupted when writing