{false} answers FALSE, which is the level's "else" state: the content does not render, and the @else@ part of the pair renders in its place. Alone it prints nothing. It is the fixed "no" beside {true} and {null}.

The common use is switching a block of a template off without deleting it: change {true} to {false}, or wrap the block in {false} ... {/false} - unlike a comment, the content still has to be a valid template. It is also the simplest way to see what a tag's @else@ or else= option does, since nothing else influences the outcome.

The else='name' option, which every tag takes, puts a stored {content} in place of a level that answered FALSE, an empty list or an empty text. That is where {false} and {null} differ: a NULL fires null=, not else=.