Capistrano can deploy branches, tags, and sha's.
In order to support tags and sha's it needs to ensure there is no ambiguity that's left on the remote box when it's done.
'deploy' was chosen so that you KNOW that the sha it's pointing to is something other than a real branch name.
For example lets say you deploy master. Then you deploy tag v1.2.2.
Git will show that your still on master except HEAD will actually be pointing to the sha at the tip of v1.2.2. Confusing right? I know.
Same thing occurs with deploying a specific sha.
When you look closely at what capistrano does you begin finding out that cap enumerates whatever you specify in :branch as a sha; and you are actually always deploying via that sha; not checking out a branch.
So cap creates a local branch called deploy and then resets its head to point to the sha that was enumerated at deploy time.
You CAN change the 'deploy' name but you are playing with fire if you are counting on that name pointing to the same sha that origin/<branchname> does.