What is the difference between nodes and miners?
Well to start off, a node refers to a "full" client. A "full" client is a client that shares transactions and blocks across the network. Each node has a complete copy of the ledger, which is a record of every Bitcoin transaction that ever took place. Such as Bitcoin-qt or bitcoind (headless).
When you're talking about miners I'm assuming you're talking about mining software. If so, "miners" don't need the full blockchain to operate. When you're using mining software such as Cudaminer and cgminer you're getting work from a pool that's running a Bitcoin client. The pool is essentially sending you a partial header for a new block and the software tries a lot of random numbers (nonces) in order to find one that creates an extremely low block header hash with a lot of zeros. Summing that up, a "miner" is not a node at all, it's just software that's doing basic calculations for a pool.
Let me know if that answers your question (: