While developing his WP7 Bitbreaker game, Gavin Wignall tried and tested several methods to get a reliable game loop running.
Source: Silverlight Buzz
Many games require movement that is affected by constant changing factors. This often requires that movement to be adjusted on a regular basis. In arcade games, for example Bitbreaker, this action is required to happen many times each second. A game loop is the function that fires this repeatable action on a regular basis.