In simple word bit stuffing is a the insertion of one or more bits into a transmission unit as a way to provide signaling information to a receiver. Bit stuffing is not only insertion as there should be a way for the receiver to identify the bit stuffing and correct it.
For example, many frame-based protocols, such as X.25 and MTP2, signal the beginning and end of a frame with six consecutive 1 bits. Therefore, if the actual data being transmitted has six 1 bits in a row, a zero is inserted after the first five consecutive 1s so that the data is not interpreted as a frame delimiter. And on the receiving end, the stuffed bit is identified if it is preceded by the five consecutive 1 and discarded.