Double-spending is spending same bitcoin more than once. Miners ensure that the inputs for the transaction is not used to prevent double-spending.
Example:
1. Bob send 1
BTC to Alice.
2. Bob send same 1
BTC to Joe.
3. Miner confirms both transaction and included it in block.
A real example:
https://bitcointalk.org/index.php?topic=152348See
https://en.bitcoin.it/wiki/Double-spending for more details.
It is a type of exploit. The person sends funds without a transaction fee, then sends again with a fee. The transaction with the fee will get confirmed and the other will eventually get rejected by the network.
-snip-
Wrong. You can also double-spend a transaction with fee. The transaction which will be confirmed depends on miners. Most of the miners include transaction with higher fee and some includes older transaction.