Red-black trees are a self-balancing binary search tree data structure. They follow several properties including: 1) every node is either red or black, 2) the root is black, 3) every leaf node is black, 4) if a node is red then both its children are black, and 5) for each node, all simple paths from the node to descendant leaf nodes contain the same number of black nodes. Rotations are used to maintain these properties during insertions and deletions. Inserting a new node involves finding the appropriate position and may require recoloring nodes and performing rotations to ensure the red-black tree properties are satisfied. Insertion takes O(log n) time.