The pull configuration talks only about the name of the remote repo and the branch name on that remote repository. It doesn't mention any name of a local (remote tracking) branch. 

Imagine that a configuration like this

[remote "eclipse"]
        url = git://egit.eclipse.org/jgit.git
        fetch = +refs/heads/*:refs/heads/fromEclipse/*
[branch "master"]
        remote = eclipse
        merge = refs/heads/master

We want finally to merge refs/heads/fromEclipse/master into master. But thats hard to find out if you only look at the pull configuration. And you also don't want to parse the fetch configuration. But the fetch command tells us which remote branch went into which local branch. Thats why we have this here.