I have just read Joel's blogpost concerning distributed version control systems and can't understand the main idea. He says that SVN thinks in terms of versions while Mercurial thinks in terms of changes. And, according to Joel, it solves merging problems.
I heard this idea several times and still haven't conceived it. As I know, SVN's merging mechanism is based on changes (diffs) too. So what is the difference? I have no experience with distributed version control systems but I actively use SVN branching/merging and had no serious problems with it. Of course there are merging conflicts sometimes (when one piece of code was changed in both branches). But I see no way how this problem can be solved automatically by some kind of control version system.