It's exactly the same thing as in software development, since basically it's also a fork on the code.
You can find some pretty good explanations on Wikipedia
https://en.wikipedia.org/wiki/Fork_(software_development)

Fork can be because you need two different versions for two specific use cases, or juste because there is a difference on the vision of the product.