When writing JavaScript or CSS, I find it much easier to determine how to select an element, since classes and IDs follow CSS (and thus jQuery, et al) selector syntax.
To wit, I find it much easier to derive 'ul#foo .bar' from
%ul#foo
%li "Hello"
%li.bar "World"
ul :id => 'foo'
li 'hello'
li :class => 'bar' 'world'
end
I personally don't like haml's use of seemingly arbitrary keywords. Coming back to a project and having to reread documentation due to cryptic syntax wastes time.
What arbitrary keywords? "." and "#" are the existing CSS selectors for "class" and "ID", and I personally really like that I don't have to type them out all the time.
To wit, I find it much easier to derive 'ul#foo .bar' from
Than from Being able to more confidently and accurately pick selectors out of markup is, for me, a concrete win.