Time lapse photography can create a stunning effect. For those who don't know, time-lapse photography is the process of taking images at regular intervals, and then combining them to create a video. It can be used to show to evolution of the clouds from a nice day to a storm, for the movement of stars in the night sky, or a plant growing. It is generally used when you want to create a video of a long process, and condense it down into a much shorter video.
Having a moving camera during a time-lapse adds a striking dynamic to the end result, and helps reduce 'boredom' of the shot, however commercial products are quite expensive for a seldom used feature. Doing this manually would not work as the movement increments need to be precise, and over a long period.
Twinegarner, and Instructables user, has created his own controller for the GoPro camera (but could be easily modified for any camera). In a nutshell, it uses a stepper motor to rotate a shaft at regular intervals, and display data on an LCD screen.
He has cleverly created an enclosure that contains the Arduino, the motor and gear system, and has created it mostly from metal parts to ensure long-lasing durability, which you want when for an accurate result.
You can read the whole Instructable, and create your own time-lapse controller. A little modification could even add lateral movement as well.