The case b >1 is easiest to think about. With b >1 , the argument of function f changes more rapidly (as x increases) than would be the case with b =1. This means that anything that f is going to "do" happens more rapidly. More rapid "action" in f means that more happens in a shorter span of x. This means that the graph is 'scrunched' into a shorter region of x. The region of x is shorter by a factor of 1/b. Another way of talking about this is that it is a compression by a factor b. Finally a compression by a factor of b is the same as a stretch by a factor of 1/b.
The case for b <1 can be argued in a similar manner.
A shorter version of this argument is that a stretch by a factor of 1/b is the same as a compression by a factor of b.