A complaint about merges is that they pollute the branch with merge comments. Rebase does this less.
In either case, it can be difficult doing the merge and verifying that the right changes get into the result if there has been sometime between main branch changes and the feature branch.