There are no official guidelines. I think for the most part it's a style thing, and at the moment what you see in the docs may depend on who first wrote the example. There are two basic schools of thought:
School #1) Curly braces are "automatic" -- in almost all cases, they just do the right thing. Use 'em everywhere unless you specifically want to rule out the possibility of a two-way binding. (You'll see that a lot of the docs are written this way, partly for historical reasons -- 0.5 had only the curly brackets.)
School #2) Using square braces for all one-way bindings makes it easy to see the expected data flow. So use square brackets everywhere and only use curly brackets where you specifically want a two-way binding. (Most of the new elements follow this style.)
I'm not aware of big performance implications either way. I'd say pick your style and stick to it.
Cheers,
Arthur