How does iOS delete a file technically and can it potentially be undeleted?

I believe in Unix the file system is modified as you suggest (the entry is removed from the file system table). On Windows the file system table is modified, and the file is just flagged as deleted - data recovery tools can undelete the file. Having looked at Windows undelete applications I think the file name is also modified, so when undeleting, you need to supply the correct file name. Modifying the file name would mean if you created a file with the same name as the one you just deleted, the OS wouldn't have to reconcile there being two files with the same name.

MacOSX and Windows have a trash can (recycle bin) which I think is implemented a special folder into which the deleted files are copied. When you empty the trash, this folder is purged - by modifying the system file table. If you use NSFileManager, it circumvents the trash can (which doesn't exist on iOS anyway) so it's a real delete. likewise if you "rm" from a terminal window.

If you create a new file with the same name as the old one, in Unix it's just a new entry in the system file table, but since the old entry had been removed from the table, there wouldn't be an advantage to creating the new entry.

That's my belief, and I'm ready for the onslaught of down votes ;-)