I think it checks for broken Start menu (Start button | Programs) shortcuts, and deletes these. Run once, then uncheck - this can make CCleaner run very slow.
Desktop Shortcuts
Same as above, but for Desktop shortcuts.
Old Prefetch data
Deletes old Prefetch folder entries (older than XX? days). Uncheck it if you don’t understand the concept of the Prefetch folder (see http://en.wikipedia.org/wiki/Prefetcher for information).
Menu Order Cache
Will delete information on ordered menus.
Window Size/Location Cache
Will delete information on windows sizes and locations.
User Asset History
(Sorry, can’t answer this.)
IIS Log History
Deletes IIS web server logs. Uncheck if you don’t run IIS on your computer.
Hotfix Uninstallers
Deletes Windows Update uninstallers. This releases lots of space on your disk, but leaves you unable to uninstall any Windows or Office updates.
The User Assist History I think is a record of whenever you get an error. For instance a Blue Screen of Death, Windows tries to diagnose the problem and tell you how to avoid it in the future. That information is kept until you delete it using CCleaner, the Disk Cleanup tool in Windows (right-click the drive in My Computer, properties, it's on the first page I think, it is for Vista, can't remember for XP) or some other program. You should be safe to remove it but you don't have to if you don't want to.
Custom Files and Folders are things you define within CCleaner in the Options, Include menu. By default there shouldn't be anything there.