That is, broadly speaking, not correct. The reflog makes it very difficult to permanently lose committed changes, and for the most part, commands that change the working directory are generally self-evident. git checkout is really the only common command that has this non-obvious behavior, and even then, only when checking out a path; checking out a commit will warn before overwriting working directory changes. In fact, from what I read, git is far better than mercurial in this respect, as reflog is always on, whereas the journal extension must be manually enabled.
What you heard about mercurial being worse is wrong. There is no need for a journal extension to prevent mercurial from permanently deleting commits. Operations that might delete commits such as strip, rebase, etc. either saves the removed commits as a backup bundle or marks the commits as obsolete and does not ever automatically garbage collect them.