Maybe because a confirmation transaction is required in order to receive payments from a certain sender, otherwise you wouldn't know to which address the payment was sent. On the other hand, you would have to have a database with all the payment codes in order to obtain the funds. Silent payments solve that problem and a transaction is not necessary. I hope this is the future of private payments on chain.