A fork occurs when two blocks dealing with the same transaction are produced. In such a case, one set of miners will be working off one block, while another set of miners work off the other block. Can refer to a fork in the source code to create a new altcoin or, more often, to a split of the blockchain when two different parts of the network see different main chains. A fork occurs every time two blocks of the same height are created at the same time. Both blocks always have different hashes, and therefore different difficulty, so that when a node recognizes both of them, it will always choose the most difficult one. However, before both blocks arrive to a majority of nodes, two parts of the network will see different blocks as tips of the main chain. Forks occur in the case of 51% attacks, because of bugs in the protocol or because core developers wish to introduce a new feature into the protocol. There have been several successful forks due to developers introducing features and one as a result of a bug. In the case of the bug, the bug was quickly recognized and the mining community rallied to accept the correct fork with a fix to the bug.
Malone, J.A (2015). Glossary of Bitcoin Terms and Definitions. United States: Lulu Press, Inc