f(x)=0 when x=2. You are confusing zeroes (roots) with the values of x for which f(x) is not defined. f(x)=0 is defined because zero is a definite number. The range is all x, that is, between negative infinity and positive infinity. You can draw the graph of f(x) without having to take your pen or pencil off the paper: that's the clue. The domain is uninterrupted.
If f(x) had been 1/(x2-4x+4) you would have been correct in stating x≠2, because f(2) is undefined. Look out also for square roots of values, or values which produce 0 divided by zero. The square root of negative values is also undefined in the real domain; as is the log (to any base) of any value≤0.
By the way, the round brackets in the interval notation rather than square brackets is because infinity is not a number, it's a concept, so (-∞,∞) means -∞<x<∞.