This document summarizes various bacterial defense mechanisms against bacteriophages (phages) and how phages have adapted to evade these defenses. The major bacterial defenses discussed are adsorption inhibition, restriction-modification systems, CRISPR-Cas systems, and abortive infection mechanisms. The document then describes strategies phages use to adapt, such as evolving new receptor binding proteins to access host receptors, masking restriction sites in their genomes, mutating protospacers to evade CRISPR recognition, and inhibiting abortive infection toxin-antitoxin systems. The constant evolutionary arms race between bacterial defenses and phage counter-defenses is explored.