WhatsOpen tells you why volumes won't eject from your Mac
Anyone who regularly plugs and unplugs external drives from their computer has at some point been frustrated by the operating system's refusal to eject a volume. Lately I've begun using more external drives, and this phenomenon is occurring more and more frequently. Apple has acknowledged this issue, and will be addressing it in the forthcoming Snow Leopard release of OS X, but that doesn't help us right now.
Fortunately, WhatsOpen does help us right now. The next time you run into the "disk is in use and could not be ejected" error message, fire up WhatsOpen to see what file is open from the volume you are trying to eject. It should be immediately obvious in most cases.
If you're not interested in hunting down the offending application, and you're not worried about potentially losing data if you haven't saved your work, there's a Force Eject button that will simply stop any process that has a file open on the drive, and eject the drive.
Hopefully in future all operating systems will build in a graceful way to handle ejecting external drives, but until then utilities like WhatsOpen are necessary in your tool belt.