In short, Darcs irritates me more than any other distributed VCS that I've used so far. And that includes git.
One of the more annoying things about it is that the commands for it are significantly different from most modern VCSs. Examples (based on their equivalents in other systems):
- darcs whatsnew -s
- diff (unified)
- darcs diff -u (for the record, I expected darcs whatsnew -u to do the same thing, based on the description in the help text.)
- commit (to local tree)
- darcs record
On a more positive note, I find the patch-based approach (as opposed to the snapshot-based approach Bazaar uses) to be an interesting method of performing backend operations. However, having to go through each patch "hunk" is rather strange, and doesn't really seem to scale, especially in a command-line interface. It seems that in the prototype GUI, it's a little better, but the usability is still lacking.