I wouldn't call them synonyms of each other in general, although for the specific case of moving files from the Trash/Recycle bin (computer) back to the original directory, it could be used interchangeably.
However,even within the domain of computers, you can have different uses for the three words.
- undelete: You've deleted a file. To undelete, you simply click a button/menu option to move the file back from the recycle bin to its original location.
- recover: Your hard drive crashed. Now you have no way of running an OS on it or accessing any of your files. However, your data is still present. In this case, you need to recover your data by using a second computer and the necessary tools or give it to someone who specializes in it.
- restore: Your file got corrupted. However, you have some prior knowledge of certain patterns and structures within the file (or how it is supposed to look like) and you use that information to restore the file.
Here's an example using all three words differently:
If your computer didn't shutdown cleanly, you might be able to restore the previously saved state of your session, from where you can recover any unsaved data. However, you won't be able to undelete any files that you've erased from the system.
If you move outside the realm of computers, restore is a word I would normally associate with something artistic or requiring skill. e.g., restoring an old oil painting/photo, restoring an old, worn out piece of furniture, etc.
Recover is used primarily as a synonym for convalesce, and perhaps a close second, to mean repossession of physical property (that was stolen).