The differences between a github clone, branch, and fork are as follows:
A clone is exactly what it sounds like, meaning it is a copy of the repository created on your machine. It gives you access to the source code in the original repository, as well as its branches. Changes made will only affect the original repository when they are pushed back to it.
A branch is a way to create a new thread of development within a repository while leaving the main branch alone for the time being. This lets someone work on new features or issues without affecting the main branch of code until they are ready to merge the two together.
A fork is a way to take the code from the original repository and split it off into your own version of the repository. This can be used if you would like to separate completely from the original project, or it can be used in a similar fashion to branches for collaboration. The difference between branching and forking for collaboration on a repository is that the original repository must keep track of users who are able to make branches in the repository, whereas anyone is able to fork.