It's a bit odd that people often call these side-effects. They're just "effects". Side effects are things you don't want to happen, i.e. accidental/incidental effects... which is exactly what a pure language like Haskell aims to prevent.
"Effects" (without the "side") usually means the effect is modeled as a type/value that is returned by the function.
Side effects are the opposite of pure functions. A function with side effects will mutate global state, a function without side effects will not (it will simply return a value).
https://en.m.wikipedia.org/wiki/Side_effect_(computer_scienc...