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.
Once you're over the initially steep learning curve you'll find ExifTool is a hugely powerful solution for metadata manipulation