As a coin rises in popularity and more mining hashing power is channeled towards it, the difficulty increases to protect the said cryptocurrency from being overmined.
Eventually, every popular cryptocurrency transcends to a state where the difficulty is so high that solo mining becomes unprofitable. The answer to this problem was for miners to pool their resources so they could generate blocks collectively at a better pace and therefore receive a portion of the newly minted coins from the block reward on a consistent basis, rather than randomly once every few days - years.
A mining pool is a specially crafted software service, which allows miners to collectively work - concurrently- on the same cryptocurrency block.
In layman terms, a mining pool is the pooling of resources by miners, who share their processing power over a network, to divide the reward equally, according to the amount of effort they devoted to solving a block.
A "share" is awarded to members of the mining pool who present a valid proof-of-work that their miner solved.
Mining pool operators are usually charging a fee for the pool maintenance costs such as hardware, bandwidth fees, software support, etc.
Typical fee values range from 1% to 5%, but some pools have no fees.