Restoring means taking a previous version of a file and making it current again. It is the operation the whole system exists for: everything else is bookkeeping in service of being able to undo.
The important design question is what restoring does to history. A restore that rewrites history, discarding versions between then and now, is a second chance to lose work, and people become nervous about using it. A restore that creates a new commit whose content matches the old version leaves everything intact: you can restore, decide you were wrong, and restore back.
USourceControl does the latter. Restore is one click from any file's history view, it produces a new commit, and nothing is deleted. That makes it safe to use casually, which matters because the whole value of the feature is people reaching for it without hesitation.
For a team, the practical effect is that a bad overwrite stops being an incident. Someone saves over a material, someone else notices an hour later, and it takes ten seconds to fix rather than an afternoon of asking who has a local copy.