I think the difference is that in Prolog you have imperative state management while Mercury only has pure functions, and manages state through linear types.
EDIT: the "about" page may explain this a tad better https://mercurylang.org/about.html
EDIT: the "about" page may explain this a tad better https://mercurylang.org/about.html