The document discusses pipeline hazards in computer processors and techniques to resolve them. There are three types of hazards: structural hazards which occur when multiple instructions require the same hardware resource simultaneously; data hazards which happen when an instruction depends on data from a prior instruction still in the pipeline; and control hazards which involve conditional branch instructions. Data hazards are further classified as read-after-write, write-after-read, or write-after-write depending on the specific dependency. Common resolution techniques include forwarding operands between pipeline stages, stalling the pipeline by inserting bubbles, and reordering instructions.