Canceling started as a bug in the original Street Fighter II. But today, it is a fundamental technique of playing fighting games.
There are many cases where a cancel can be used to connect from one move’s rebound into another move, often making combos. However, this is not the only phenomenon to which the term may be applied: when landing from a jump, you can cancel its recovery time by performing certain moves, for example; or you can cancel into derived moves.
The King of Fighters series in particular has liberal use of cancels; many times, the properties of command moves will change depending on whether they were cancelled into.
The general pattern for allowable cancels is from a lower-order move into a higher-order move (like from a normal move into a special move); the reverse is almost always disallowed. This restriction prevents many infinite combos and such; it is such a basic preservation of game balance that it is a rule in the vast majority of 2D fighters.
Furthermore, depending on the game, it will often be necessary to expend additional meter when canceling into a move that requires meter, and there are generally more restrictions on special kinds of cancels (like kara cancels).