Display expressions actually represent superset of standard attribute expressions. Major difference is that they're always evaluated to a string value, suitable for displaying as feature annotations (or labels). Another difference is that they support advanced value formatting parameters.
Feature property keywords use square brackets:
[PropertyName]
Feature property formatting uses .NET formatting notation:
[PropertyName;FormatString]
Expression contents outside of square brackets ([]) evaluates as literal text:
"This is: [PropertyName]"
Expression contents inside the square brackets ([]) evaluates as function or variable:
[if(PropertyName=1,'A','B')]
If there's a [...;FormatString] expression formatting set, the value is explicitly cast to Double type.
Available expression format strings: