Why use branching?
There are many reasons why you may want to use branches. Usually, branches are employed to separate code changes from the main project—either to prevent problems, or to allow the project to "branch off" in two or more separate directions.
One reason to use branches would be to allow easy development of a multi-platform project—one branch for Windows, and one for Linux, with the common files being kept in the trunk. Another reason could be to allow bug fixes and minor updates of an already released software version to continue, while other developers work on a major overhaul of the software for a new version.
Not all software projects use branching. Some projects, especially comparatively small ones, may find branching to be overkill, ...