EDIT: The following answer is only partially correct nowadays - check the other answer for more details. Miner may still choose to not include transactions they don't want to include, but in this particular case they couldn't include it even if they wanted to.
It's sometimes more profitable for miners to leave a block not full.
If a miner includes your transaction in his block, it means he has to validate and execute it, which takes a little bit of time. Using that time for your transaction means he gets to the mining puzzle later. Which may result in someone else solving the puzzle before him, so he loses the block reward (or only gets the uncle reward).
So including a low paying transaction is probably not worth the risk for the miners.
Nodes drop transaction when their mempool (buffer) gets full. Probably they drop the ones with the lowest fees, since those are less likely to get mined anyway. My guess is that your transaction has gas price high enough that it doesn't get dropped, but low enough that it doesn't get mined. When (if) the transaction gets dropped, it's like you had never sent the transaction - you don't lose anything, besides time.
In the end, this is all speculation, and it all depends on each node client settings.