I've been noticing a stubborn external disk that just refused to eject. It finally frustrated me enough to do something about it. I turned to an old, old friend named What's Keeping Me. This is little gem of an app that does one thing.
You search for a disk by name and it tells you what application or process is holding it up. It also works with stubborn trash files that are locked by an application and preventing the trash from being emptied.
The irony: the disk was held up by Jettison, an app that is supposed to eject disks. Once I quit Jettison, the disk ejected just fine.
UPDATE: My real problem is that I launched Jettison from the external drive I was trying to eject. Yeah. That's pretty dumb. Apparently I don't know how computers work.