Bitcoin mining pools are a way for the miners to “pool” together their hashing power and then divide the rewards equally according to the number of shares they contributed solving a block. Bitcoin mining in pools started when the network difficulty got too high to the point that it could take years for miners to generate blocks. The solution was to pool their resources together and share the hashing power so that blocks could be solved quicker and hence receive more rewards.