The domain of a function f(x) is all the values of x for which the function is defined. So, if you plug a value into the function that isn't in the domain, you'll get something undefined (dividing by zero, square root of a negative number, etc.).

The notation you're talking about is set-builder notation.

{ x | x >= 2 }

Since f(x) is a function of x, the domain is values of x (hence the first variable). The vertical bar is read "such that". After the vertical bar are the allowed values of x (the domain). So this function is undefined for values of x less than 2.

For example, the function

has the domain {x | x =/= 2 } because x=2 would be dividing by zero.