A candidate block is, to put it simply, a block that a mining node (miner) is attempting to mine to obtain the block reward. Therefore, a candidate block can be considered a transient block that the network will either validate or dismiss. The next block must first be created as a candidate block for miners to compete against one another to validate it and add it to the blockchain.
Miners gather and arrange several unconfirmed transactions from the memory pool to form candidate blocks. After that, the transactions are hashed to create a Merkle tree structure that will eventually yield a Merkle root (or root hash). The Merkle root is a single hash that contains the hashes of all previous iterations of that tree and, consequently, all transactions that were part of that particular block.