I personally always merge (without squashing) or fast-forward. It's safe, easy and traceable.
Merging does 'pollute' the history with its traceability, but it hasn't bothered me. (The main thing I use history for is git blame, I rarely just read the log or view merge graphs).
Or maybe I just like getting more green squares on my Github page. Merge commits count as a contribution :-)