Question: If Bitcoin can be sent with zero cost(for free) why users choose to pay for some fees?
Bitcoin can be sent to other wallets without any cost, but this can lead to longer processing time such as a week or more.
This is because the Bitcoin community prioritize the transactions which paid higher fees.
The amount of bitcoins being sent is not related to the amount of cost, but the fee is relative to the number of bytes in the transaction.
Transaction fees are used as a protection against users sending transactions to overload the network and as a way to pay miners for their work helping to secure the network.