actually, all that happens when you delete a file is that a single binary bit changes from 1 to 0. The file still exists perfectly as it was before you deleted it. The operating system effectively has permission to over-write the file should it need the space. By undeleting the file, all you do is return the 0 to a 1 and hey presto, the operating system can see it again, and is not allowed to over-write it.
As a result, its extremely easy to recover files, unless you started copying files onto it. Recovering files that have been over-writtern are another story all together. This is where government standard applications come into play.