...so I\'ve gotten used to the simple stuff with Mercurial (add, commit, diff) and found out about the .hgignore file (yay!) and have
I use clone for:
The former use is pretty rare for me - mainly when I'm trying an idea I might want to totally abandon. If I want to merge, I'll want to merge ALL the changes. This sort of branching is mainly for tracking different developers' branches so they don't disturb each other. Just to clarify this last point:
For feature branches, or longer lived branches, I use named branches which are more comfortably shared between repositories without merging. It also "feels" better when you want to selectively merge.
Basically I look at it this way:
That's my take, though really it's a matter of policy.