For paper books, I like
Readerware. You can scan barcodes and look books up by ISBN, and it will fill in all kinds of metadata (and even get the cover art, if available) from sources like Amazon and the US Library of Congress. I plan to try to use it for ebooks, too-- actually, I'd like to keep the same title in the same record (despite the fact that the ISBNs might be different) so I can easily check to see how much of my paper library I have covered in digital editions, and vice versa. Readerware has extra fields you can customize for metadata the programmer didn't think of, but it's already quite complete, at least for pBooks. Admittedly, it wasn't designed to work with eBooks, but with the custom fields you could store file type, path, removable media identifier (e.g. a CD or DVD number or name), etc. And you can keep track of what you've read and books you'd like to buy, but don't yet own.