One of the most powerful features of the Arduino that is sometimes overlooked is the ability to stack shields into configurations that can accomplish more complete or complex projects.
Many of us only need a shield for one specific addition to a project, such as connectivity (xbee, wifi, ethernet) or motor control.
But in this project Sean Carney combined 2 common shields, specifically a SparkFun GPS Shield and a Nuelectronics LCD Keypad Shield, with an Arduino to create a programmable hardware stack that allowed it operate with the functionality of older commercial GPS receivers.
All settings can be configured on the fly from a configuration menu, and the settings are saved in EEPROM so they are persistent between power cycles.
Source: Arduino GPS SHIELD STACK