As transactions have to be confirmed, does it imply bitcoin cannot used for instant payment?
There are situations where accepting a 0-confirmation transaction is low risk, but that's certainly not generally advisable. Double spending a 0-conf transaction is very easy to do with high success rates. So yes, in general waiting for a few confirmations is required.
But Lightning Network is being developed right now by several parties, which is a layer on top of Bitcoin that will allow instant payments without waiting for confirmations at all. It will also allow much smaller payments (micro payments), fast rate (many payments per minute) and lower fees.
In time, LN should eliminate the need for 0-conf transactions completely.
It depends on the willingness of the merchant to risk a very small percentage of failed payments. When the customer sends a transaction with sufficient fee, and all inputs of that transaction have confirmations, the risk of not getting the payment is pretty low. Double spending attacks are economically unfeasible with small payments. However, depending on the miner fees, micro payments may be unattractive for the customer who has to pay the fee.