Consider a steady state scenario in which there are many miners with a constant hash rate and a constant PoW difficulty. In this case, any single miner will have to be constantly expending real world resources but may expect to wait on average a very long time before receiving a block reward.
Therefore miners often decide to work together in order to combine their hash power and then receive partial block rewards more frequently in an effort to smooth out their cash flow.
Different mining pools operate on different terms depending on how hash power is directed and rewarded and a number of different schemes and approaches exist.
The presence of mining pools results in some interesting game theory. The first thing to note is that mining pools are a form of centralization. Whether or not this is viewed as problematic depends very much on the protocols and independence of the miners in a given pool.
It is also the case, that theoretically, if more than one mining pool exists, it would potentially make sense that the stronger pool attacks the weaker pool. The only real defense against this happening is the potential to harm the underlying value of the cryptotoken (thus undermining the purpose of doing the attack in the first place) and the mining pools believe in the given blockchain.