It's not usually apparent to the average consumer, but there's actually two stages to collecting a payment, and two ways to undo it. The particular combination that occurs may lead to long refund times, on top of any human delays (like Ben Miller's answer addresses).
When you pay with a credit card, it is typically only authorized - the issuing bank says "I'm setting this money aside for this transaction", but no money actually changes hands. You'll typically see this on your statement as a "pending" charge. Only later, in a process called "settlement", does your bank actually send money to the merchant's bank. Typically, this process starts the same day that the authorization happens (at close of business), but it may take a few days to complete. In the case of an ecommerce transaction, the merchant may not be allowed to start it until they ship whatever you ordered.
On the flip side, a given transaction can be voided off or money can be sent back to your card. In the first case, the transaction will just disappear altogether; in the second, it may disappear or you may see both the payment and the refund on your statement. Voids can be processed as quickly as an authorization, but once a transaction has started settlement it can no longer be voided off. Sending money back (a "refund") goes through the same settlement process as above, and can take just as long.
So, to specifically apply that to your question: You get the SMS when the transaction is authorized, even though no money has yet moved. The refund money won't show up until several days after someone indicates that it should happen, and there's no "reverse authorize" operation to let you or your bank know that it's coming.
Added June 2019: It has been delayed several times already (I originally added a comment about this in April 2018) and may be delayed again, but as of right now Visa is mandating support for the "reverse authorize" operation by October 2019. This will presumably behave the same way as an authorization, with the "pending refund" showing up immediately, and the actual money being moved just as slowly as before. Visa is currently the only card brand working on supporting this.