Enclosing filters in parentheses has three distinct meanings in CQL.

parenthesis for precedence

A single filter can be enclosed in parentheses to make the expression of which it is a part has the correct meaning. In this usage, the parenetheses have the same meaning as a #compound(compound filter) that contains just one filter:

  2+4*3  14
  (2+4)*3  18

parentheses to contain arguments

When a filter has multiple arguments, these arguments are contained in parentheses (except for infix functions like attacks or /):
  between ( )
  lca(x y)
  ray(  )

Parentheses also enclose the arguments to calls to user defined functions:

  function Cube(x){x*x*x}
  Cube(4)  64

parentheses in regular expressions

Parentheses inside a regular expression in a filter denote a sequence of positions. In this case, the different positions are separated by arrows:
   (―― ――)+

Parentheses inside PGN files

In a PGN file, parentheses indicate the beginning of a new variation. This usage is not used inside of a CQL file however.