You hear it all the time in the Arduino community, "will this shield work with my other shield?." I think we've all been disappointed to find that two of our favorite shields compete for control of a digital pin here or a serial pin there. While there are sometimes some clever workarounds from elegant code modifications to aggressive 'greenwiring,' Mayhew Labs may have come up with the simplest solution thus far: The Go-Between Shield.
The Go-Between Shield "goes between" two shields that aren't compatible and effectively reassigns the pins. This trickery is achieved by isolating the top and bottom sides of the shield with surface mount headers and breaking them out into tables of jumpers that can be bridged to divert signals to and from different pins. For instance: If you have two shields that require use of pin A1, you can simply close the correct jumper and stack the Go-Between shield between the two conflicting shields. Now the shield above the Go-Between will think it's using A1 when in reality it's connected to the Arduino's A0. Now your shields aren't stepping on each others' feet, so to speak.
The Go-Between Shield is also a solution to some shield compatibility problems with Arduino clones such as the Maple or Netduino.
Documents: