Why the need for this back and forth concept since, Bitcoin has smaller denominations that could be spent directly.
Wouldn’t it have been more easier to just send the exact amount in the acceptable denomination and that would be all to it without having any need for a refundable balance?
If you buy something for $5 from your wallet's unspent transaction output (UTXO), your wallet still needs to calculate the miners fee for your transaction. So, if you have a UTXO with only $5, your wallet needs to use two inputs from your available utxo to cover the cost, and then it returns the leftover amount to you as an output to a new address.
It's like when you shop at a store. if your total is $5.06 and you give $6, meaning you had spent $6 completely. the cashier gives you a receipt showing your purchase as $5.06 and gives you back $0.94 as change. In the Bitcoin system, spending from two UTXOs and getting change works similarly. you spend both completely and later receive a new transaction as your change.
Like, I have a $5 note, I make a purchase of $5, paid for it in $5 without having any balance to be refunded to me.
Do we not have such cases in Bitcoin?
Yes, it's possible. If any of your UTXOs contains a total of $5 and has enough funds for your transaction fee, you can spend the entire UTXO without getting change back. However, remember that when spending the entire UTXO, your wallet includes the transaction fee along with the amount you're sending.