Looping in programming involves repeatedly executing a block of code until a certain condition is met. There are three main types of loops in C: for, while, and do-while. For and while loops check the loop condition at the beginning of each iteration, while do-while checks at the end. Loops are useful for tasks like printing something many times without copying/pasting code. Looping can also be nested, with one loop placed inside another, to create more complex programs.