All true. Certainly nothing is "messed up".
That said, reading through a bunch of fine-grained and uninformative merge commits when looking at a log is really annoying. Serious projects expect submissions to be in the form of clean patch sets that apply in series and "look like" an instantaneous change. No one cares about per-developer histories.
If you look at the kernel history, for example, the only merge commits you see are Linus's and the subsystem maintainers'.