People fork repositories when they want to change the code in a repository they don't have write access to. Clearly, if you don't have write access, you really aren't part of the team contributing to that repository, so why would you want to modify the code repository? In our line of work, we tend to look for technical reasons to improve something.
You may find a better way of implementing the solution or may simply want to enhance the functionality by contributing to or improving an existing feature. Personally, I fork repositories in the following situations:
- I want to make a change.
- I think the project is interesting and may want to use it in the future.
- I want to use some or all of the code in that repository as a starting point for my own project.
Software teams are encouraged to contribute...