Well, according to the documentation you link to, its sole purpose is to split and clarify the two different uses of git checkout:
git switchcan now be used to change branches, asgit checkout <branchname>doesgit restorecan be used to reset files to certain revisions, asgit checkout -- <path_to_file>does
People are confused by these different ways to use git checkout, as you can see from the many questions regarding git checkout here on Stackoverflow. Git developers seem to have taken this into account.