When you solo mine, you must have the cryptocurrency's network daemon running. The daemon allows you to stay in communication and synced with the miners, mining pools, and blockchain that are in the given network. The daemon downloads the entire blockchain and continues to download new blocks and submit hashes to the network. This can be very taxing on a miner's hardware. The miner is also against the entire network when trying to find a block. For popular mined coins like Bitcoin, this could mean years, if not many years, before the miner finds a block and gets rewarded with new coins.
The mining pool acts like the central hub for multiple miners to pool resources together. The pool will run the daemon and keep the blockchain synced. This allows the miner to not have to run the daemon or need the blockchain to continue mining. The pool also takes the resources from a few to hundreds or thousands of miners and puts them together in the common goal of finding a block. If any of the pool's miners finds a block, the reward is divided up to each miner according to how much work that miner did since the last block, by the pool, was found.
When a miner mines on our pools, they submit hashes to the the pool which in turn submits them to the network. All hash attempts, or submitted hashes, are counted for each miner. The number of submitted hashes by any given miner is compared to the total number of hashes submitted by the entire pool. This percent of miner's hashes vs. total hashes is applied to the total reward minus the pools fee and then paid to the miner.