Understanding merge request and compare revision

We started using the merge request feature, however, we are doing fine till now but i was wondering what the purpose of the compare feature and having commits and changes between branches while we did already a merge?
For example, if we merged from the release branch to master how we will move it to dev branch and also why we are getting changes already sent to master when we do the compare revisions! plz advice