Rewriting systems are formal frameworks used to define and implement transformations on abstract structures, such as strings, trees, or graphs, by applying a set of rules. They are fundamental in computer science for tasks like automated theorem proving, program transformation, and symbolic computation.