Most of the time, the need for physical drive recovery is due to one of the following cases:
The controller board on the drive went bad. Replaceable with minimal effort, and the right part.
A moving part failed (e.g. the reader arm or whatever) Replaceable with some effort, and the right part.
Somebody hosed the partition table. Usually possible to fix with a hex editor if you can manually reconstruct the table and/or use backup copies elsewhere on the disk. There is (expensive) software which will do this sort of stuff for you. Not for the faint of heart.
Filesystem corruption. Good luck, unless you have filesystem internals knowledge. Bits that aren't corrupt might be saved, with much effort, by a filesystem developer. (i.e. mere mortals are screwed).
RAID failure causes inaccessibility of some stripes. (eg two simultaneous disk failures in a RAID5, or one disk failure in a RAID0) You might get some data off the remaining stripes, but it is likely that unless your file happens to be smaller than the stripe size, and happens to not cross a stripe boundary, you will have lost significant portions of the data. Takes an expert to reconstruct what little can be saved.
Physical damage to the platter.(e.g. a scratch) If you are lucky you might be able to read some bits off the parts of the disk that aren't damaged. Depends on the nature of the physical damage though.
Failure due to hairline fractures can sometimes be worked around by freezing the drive long enough to get the data off.
I'm discounting eloborate theoretical scenarios where you use some kind of external reading equipment on the drive. In the real world, recovery companies try the above techniques and give up if they fail.
With solid state drives, you have the same story for partition table and filesystem issues, and for controller boards, assuming it's a seperate piece. I suppose the equivalent to physical scenarios with platters would be if you desoldered the flash chips and moved them to another identical drive, which is more difficult and far more expensive labor. Plus, only some of the chips may still be good, and the way that wearleveling blocks work, your data will actually be scattered across the chips noncontiguously for the most part, so you're likely to only get partial recovery anyway.