When an operation makes each output pixel from a number of surrounding input pixels, we need special processing near the boundary of the output because some “surrounding” pixels won’t be inside the input image. So we pretend that the input image extends to infinity in both directions. “Boundary=mirror” pretends that the input image is mirrored at each boundary.
EDIT: So we can imagine that the input image is surrounded by eight copies of itself, each copy being reversed horizontally or vertically or both, as if reflected by four mirrors.