Geometry shaders operate on primitives like points, lines and triangles to modify or generate new geometry directly on the GPU. They provide benefits like reducing vertex data and computations by generating geometry from a limited number of inputs. However, generating too many new vertices can negatively impact performance due to increased memory and bandwidth usage. Geometry shaders are well suited for tasks like instancing, displacement mapping and outlining but care needs to be taken to optimize output size.