Canon like most manufacturers employ product crippling on their firmware to create different product options. An enterprising software development CHDK has hacked the firmware for a range of Canon compact cameras.
The upgrade gives users access to options normally reserved for SLR level cameras. Examples include longer shutter speeds, live histogram display, saving RAW files and changing bitrate used for video clips. Scripts are also supported allowing time-lapse photography and motion detection which has been used to make lightning photography easier.
I have just had this running on my Canon SX100 IS. Normal maximum shutter speed is 15 seconds, CHDK allows me to override to 64 seconds. The live histogram display allows me to see if the exposure is OK before I take the photograph. My high quality video is normally around 15000 kbs, using CHDK I got 47000 kbs.
The upgrade sits on your SD card and is loaded each time the camera is turned on. No permanent change is made to the camera. Check out the project here :
As mentioned in the comments below it is worth while reading all the details. The array of options available is huge and development very active.