If they want to spend their output, they can broadcast a child-pays-for-parent transaction and incentivize the miners to include both.
CPFP is actually a very inefficient way of 'accelerating' a transaction. The user have to either intentionally make a transaction with a higher fee or do so in a subsequent transaction, provided that the next user doesn't care about the unconfirmed output. Mempool seems to accumulate over time and it would be far more expensive to do a CPFP later than to have an RBF now. I'd very much prefer having the flexibility of doing so without incurring additional costs or time. If I'm the merchant, I'm definitely not looking to wait for a transaction to be confirmed in a day or two.
It really depends on the amount transacted. I, as a merchant again, wouldn't be bothered to accept such unconfirmed transaction for an amount less than $300. I don't believe that a customer would choose defraud me that way, I find it difficult thing to happen, there's still a decent percentage of uncertainty and I'd, either way, also accept credit card payments which are far easier to reverse and whose finality takes about 6 months more than a bitcoin transaction does.
Furthermore, "the customer is always right". If he asks for unconfirmed transactions, I might dissatisfy him by disagreeing, which is definitely not a smart move.
For starters, credit card settlements and Bitcoin transaction finality are completely different and they cannot be equated to be the same. The former has some accountability on both the user and the merchants and there is a case to be contested for most cases, not the main point anyways.
Customers won't be there to defraud you for a cup of coffee or for lunch and it really depends on the risk tolerance. It's either LN or you pay and I make your food, by the time I serve you, the TX should probably be confirmed. I'm not sure if the customers would be willing to do a transaction without RBF, knowing that there is a possibility of the funds being stuck for a while. I won't be comfortable with that and I don't really think it is a good way to manage the risk or neither is it a good trade off, but that might just be me.
A successful attacker will need to mine all blocks again since your transaction. It is considered permanent and practically impossible for an attacker to mine 6 blocks faster than the whole network. This is why 6 confirmations is enough.
If you are talking about altcoins, like bch or brg which have significant lower hashrate, the 6 confirmation rule is not enough.
Any attacker having more hashrate than the rest of the honest network will always be able to mine any number of blocks more than the rest of the network, given time. The 6 confirmation rule is based on game theory and is not a strictly mathematical concept. 6 confirmations can be enough for any other altcoin, so long as you think the amount being transacted is very much less than the cost of the hashrate for 51% of that network.