An expression that consists of only a block expression or control flow expression, if used in a context where a statement is permitted, can omit the trailing semicolon. This can cause an ambiguity between it being parsed as a standalone statement and as a part of another expression; in this case, it is parsed as a statement.
With parentheses the expression is no longer an element of a block, so it can't be a statement, there is no longer a parsing ambiguity. You can't have a statement wrapped in parentheses.