I can never eject a flash drive on the first try. Why?
It could be that you have open applications using files on your flash disk. 

You could try running the terminal command "lsof /Volumes/_NAME_OF_FLASH_DISK_HERE" and if you see an output, that means you have open/active files on your flash disk.
You need to close those and you can now eject.

Hope this helps,
Ismael Casimpan