There are times Disk Utility cannot help you. Then you know it is time to turn to the command line.
sudo diskutil list sudo diskutil eraseDisk FAT32 NEW_DISK_NAME /dev/disk3
Make sure /dev/disk3 is indeed the usb drive, go through the drive list from the result of the first command to make sure.
FAT32 is the file system you want to use on the usb drive. And NEW_DISK_NAME is the usb stick volume name. If you pick say myDrive, and you get the error myDrive does not appear to be a valid volume name for its file system, simply use uppercase characters, e.g. MYDRIVE, that will help you move forward. You can rename it later after formatting it.
I converted my unreadable USB drive from
/dev/disk3 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: Apple_partition_scheme *7.8 GB disk3 1: Apple_partition_map 4.1 KB disk3s1 2: Apple_HFS 2.4 MB disk3s2
/dev/disk3 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *7.8 GB disk3 1: EFI EFI 209.7 MB disk3s1 2: Microsoft Basic Data NEW_DISK 7.6 GB disk3s2
How to Erase a Disk from Command Line in Mac OS X