Altering Menu through Walker or Filter?

I’ve been working with menu recently and find that altering the WordPress menu can be achieve by both using walker and filter and the results are the same, so I’m quite confuse which one to use and which give more advantage, which is the best way for altering the menu but still provide compatibility with other plugins, themes, etc. What do you think?