Pipelining is a technique used in advanced microprocessors allowing concurrent execution of multiple instructions across different stages, improving processing efficiency. It consists of stages such as instruction fetch, decode, execution, memory, and write back, enhancing throughput and performance. However, structural hazards may occur due to resource conflicts, which can be mitigated by stalling the pipeline or adding more hardware.