What is the Advantages and Disadvantages of digital signatures over HMAC? I want know the advantages of using digital signatures over HMAC for message by message authentication.

I know that HMACs are inexpensive to implement compared to DS, but DS provides a very strong security also uses more processing power. Are these two the main differences?
Digital signatures provide non-repudiation, which is one of the basic principles of information security, and HMACs do not (since the key in HMAC is known both to the sender and the receiver).

And then of course the points you mentioned also apply.