@maiyannah I'm guessing ignore_presence_priority means you assume all clients have the same priority.
The algorithm when communicating with someone is "hello bare@jid", which gets sent to the highest priority client of user "bare@jid", or copies if there are multiple with the same priority. If you set a higher priority for one (or more) clients, only that/those will get it (for example, your phone could force higher priority if it knows you're looking at the screen!)
If the message has been delivered to multiple clients, they will reply and that session will then priorities that client by sending directly to bare@jid/resource, meaning any other clients don't get the message.
With carbons, they get the message but are aware that it's not directed _at_ them (and those should avoid creating a "new notification" thing for the user).