I am looking to change the functionality of the buttons on the Apple Remote. What software is available to do this?
The free BetterTouchTool can do this:
You can set up complex actions to be triggered by any of the buttons being either pressed or held.
Mira can customize the Apple Remote buttons on a per-app basis, and costs $16.
Remote Buddy allows you to customize the Apple Remote and many other devices, however it does cost more than Mira.
Better Touch Tool also allows you to customize the actions of an Apple Remote, as well as trackpad/mouse, but there seems to be issues with the default action still firing with BetterTouchTool (see this question). It is free though.