Any technique that stores or transmits extra, derived data that can be used to detect or repair errors, either in hardware or software. Examples are parity bits and the cyclic redundancy check.
If the cost of errors is high enough, e.g. in a safety-critical system, redundancy may be used in both hardware AND software with three separate computers programmed by three separate teams ("triple redundancy") and some system to check that they all produce the same answer, or some kind of majority voting system.
The term is not typically used for other, less beneficial, duplication of data.
2. <communications> The proportion of a message's gross information content that can be eliminated without losing essential information.
Technically, redundancy is one minus the ratio of the actual uncertainty to the maximum uncertainty. This is the fraction of the structure of the message which is determined not by the choice of the sender, but rather by the accepted statistical rules governing the choice of the symbols in question.
[Shannon and Weaver, 1948, p. l3]