The Monero website explains how to set up xmr-stak-cpu to mine Monero, though monerod already has built-in mining ability. Please explain what the differences are between these two miners, and which one is best.
xmr-stak-cpu is a pool miner: it doesn't mine directly, it just hashes on behalf of a central pool, who actually mines. The pool will pay you later from the blocks it finds, based on the work you did for the pool. You can see pool mining as some kind of subcontracting: the pool operator wants to mine monero, but subcontracts the hashing power to others, who run such programs as xmr-stak-cpu, minerd, etc.
In contrast, monerod mines directly for you. You get the block reward when you find a block, rather than the pool operator.
Pool operators run monerod themselves (though typically don't bother mining with it directly, they just use the hashing power supply by their miners).