Quote from the guy :
You don't need 50%+ of mining to do it. It's completely possible, a low transaction fee with low priority vs a high transaction fee with high priority gets priority and double spending can happen that way, that's why sites wait for multiple confirmations and they suggest you do too.
Partially. If a transaction has a low fee (and does not signal RBF) but is above the node's relay threshold, then the any higher fee replacement transaction will be rejected by the node. However if the fee was too low, that transaction would have been rejected by the node and the high fee replacement would be accepted. Furthermore, if a transactions signals RBF (meaning that it can be replaced by a higher fee double spend) then even if it is in the mempool of a node, the higher fee can replace it.
The naive way to deal with this is to wait for confirmations. The actual smart way that many companies and people do is to examine a transaction to determine the probability of ever confirming. The things to check are the fees and the sequence numbers of the input. Any sequence number that isn't 0xffffffff means that the transaction is not final so it has a higher chance of not confirming. Thus you should wait for a confirmation. Any transaction that has a low fee should also wait for a confirmation before accepting it as a payment.
It forks often too so therefore double spend is possible with one confirmation
That is not true. The "forks" are known as orphan (or stale) blocks and these happen when two miners find two blocks of the same height. One of those has to be ignored. This does not happen very often, maybe once every few thousand blocks, according to my node.