There are two types of forks, one is soft and one is hard fork.
SOft fork is kind of a software update where you solve bugs at medium level.
Hard fork means they had to make it since a critical bug found at the architectural level of the code.
When a hard fork happens, they generally give away new coins or change the coin name.