I've only used spinrite on hard drives, never a usb stick. Not sure it works on those. It's commercial and made to recover from data loss due to physical problems like bad sectors, not so much undeleting or unformatting.
I believe drives have the equivalent functionality of spinrite built in these days, but he keeps managing to sell it.
It's a hotly debated topic
http://en.wikipedia.org/wiki/Talk%3ASpinRite#Disputed.3F They claim that it can disable sector remapping on your hard drive during recovery, but there isn't a standard IDE command to do this. It's possible that it manages to do this on one drive (probably the one the programmer used) but as it was released in 2004 it's unlikely that it will do this on your hard drive.
I think it's unlikely that spinrite has a secret way of doing this that has really worked since 2004, that nobody (including the drive manufactures) knows about. If a technology like that existed then it would be in some open source software by now.