a branch cut
A multi-valued function becomes usable only after we forbid the loops that change its value. A branch cut is the curtain we draw to do exactly that: a curve we delete from the plane so that no path inside the remaining region can encircle a branch point, which lets a single-valued branch live there continuously.
For the logarithm the standard cut is the negative real axis, from 0 out to minus infinity, used by the principal branch Log z. Once that ray is removed, the slit plane has no loop that circles the origin, so Arg z can be chosen continuously in (-pi, pi] and Log z = ln|z| + i Arg z is a genuine single-valued holomorphic function on the cut plane. The cut is not unique: any curve from the branch point 0 to infinity will do, for instance the negative imaginary axis or a spiral. You choose the cut to keep the region you care about (your domain of interest) intact and away from the seam.
The price of the cut is a controlled discontinuity along it: the function takes different limits on the two sides of the curve (for Log z the jump is exactly 2 pi i across the negative real axis). That is acceptable because you simply never let your contours or computations cross the cut. For a function with two finite branch points, like sqrt((z - 1)(z + 1)), a smart cut can be the finite segment joining them, after which loops that enclose both branch points together cause no contradiction and the function is single-valued outside the segment. Choosing where to cut is an art guided by where the branch points are and what region must stay connected and uncut.
With the cut along the negative real axis, the points just above and just below -1 give Log(-1 + i 0.001) approximately i pi and Log(-1 - i 0.001) approximately -i pi, differing by 2 pi i.
The cut is exactly where the two-sided limits disagree by 2 pi i.
The cut is a choice, not a property of the function; moving the cut moves the seam but does not change the underlying multi-valued function. Different software defaults to different cuts, so a formula can look discontinuous in the wrong place if you assume the wrong convention.