A Chord substitution is precisely what the name implies: the substitution of one chord for another during a chord progression. It's a technique often found in jazz music (but other genres, as well) used to add a little extra pizzazz to a piece of music. Chord substitutions contribute to the element of surprise; it keeps the progressions from becoming predictable, without compromising the overall tone of the piece. Instead of playing a constant, consistent G chord, for instance, musicians will sometimes use chord substitutions to replace that G with a G6 or Gmaj7, depending on the song and the effect desired. Chord substitutions are a great way to add a kick to an otherwise monotonous progression.
There are many things to consider when working with chord substitutions. First of all, chord substitutions will be especially easy when the two chords share a number of common notes. C major, for example, can be easily substituted with A minor because both of these chords contain a C and E. But it isn't just enough to share common notes; the common notes in chord substitutions are best received when they drive the chord. The first two notes of a chord (including the root) are what give a chord its defining characteristics. If chord substitutions contain these notes in an insignificant place, the substituted chord won't be as interchangeable. Let's consider C major and A minor again. These chord substitutions works because the two common notes, C and E, are the two most important notes within the C major chord. The root note, C, shifts in these chord substitutions, but it is still present enough to keep the chord's essential quality. But it's important to mention here that, rules and regulations aside, chord substitutions are really in the eye of the beholder; if you think it works and like the sound the chord substitutions have created, feel free to explore it. There's no rule in chord substitutions (or music, for that matter) that can't be broken.