This thread explains it.
It's a method that allows replacing an already transmitted transaction by transmitting another transaction with a higher fee. This only works on transactions before they are signed by miners (0-confirmations).
Bitcoin Core will happily spend RBF marked inputs it doesn't avoid them much less prohibit them.
Perhaps you're being confused by the fact that it will not spend an unconfirmed input created by a third party? Or maybe you have spendzeroconfchange set off or only have long-chain unspents?
Assuming most of the nodes on the network run with the default configuration of maxmempoolexpiry, most of the network mempools will drop your transaction after 336 hours (2 weeks).
You should have crafted your transaction such that it signals BIP125 replaceability (by having at least one of the input nSequence <= 0xfffffffd).
At this point, you could use ...
After 6 years, Now I want to tell you what is Replace by Fee :)
This feature was proposed in BIP125 and implemented in Bitcoin Core 0.12.0.
In simple words, by enabling (Replace By Fee) RBF in a transaction, if a transaction doesn't get mined, it can be resent by the sender with a higher mining fee with keeping the input data of the UTXO(Unspent ...