Major differences I've seen are:
#if
, #unless
, #with
, and #each
{{this}}
in blocks (which outputs the current item's string value)Handlebars.SafeString()
(and maybe some other methods)if !x ...
)(Please correct me if I'm wrong with the above.)
Are there any other major differences I am missing?
You've pretty much nailed it, however Mustache templates can also be compiled.
Mustache is missing helpers and the more advanced blocks because it strives to be logicless. Handlebars' custom helpers can be very useful, but often end up introducing logic into your templates.
Mustache has many different compilers (JavaScript, Ruby, Python, C, etc.). Handlebars began in JavaScript, now there are projects like django-handlebars, handlebars.java, handlebars-ruby, lightncandy (PHP), and handlebars-objc.