The answer is that it often is not, at least for most people, most of the time. Eventually it will be the best payment system, but it needs to develop further, gain more adoption, and get over the scaling obstacles. Even so, Bitcoin is already the best payment system for certain use-cases, such as sending money across borders, or receiving money from someone you don't trust (which helps further in cross-border transactions).
Compare to fiat, online transactions need some payment system that is direct and won't take different companies and banks before actually buying the goods or services you want to avail. For me, block chain technology is the perfect job for this. Cryptos are being used efficiently as payment method because the fees are fair and the transactions are generally faster.