Template:or else/documentation

Usage
is equivalent to.

You should generally use a construct like  in preference to. The former will substitute the default value when the parameter is either empty or undefined, while the latter will only substitute the default value when the parameter is undefined. Attempting to pass an undefined parameter to a subtemplate will convert it to an empty parameter, and code that distinguishes between undefined and empty parameters will then fail.