1) User Agent cloaking is good for taking care of specific agents. Wap, Wml pages for the cell phone crowd.
Active X for the IE crowd.
Quality css from the Moz and Opera crowd.
Nice black screen for the web tv'ers.
Specialty content for agents (eg: NoSmartTags, GoogleBot Noarchive)
No sense in sending out stuff with js, java, or flash than a user can't actually run.
2) IP Address Cloaking is good for taking care of demographic groups. Language file generation for various countries.
Advertising delivery based on geo data.
Pages built for broad band users.
Low impact pages for overseas users.
User-time-of-day determination and custom content based on tod geo data (news, sports weather..etc)
Specifically targeting demo groups such as AOL, Mindspring etal.
3) IP and Agent cloaking is good for a combo of the above. Custom content for AOL'ers using Wap phones.
Ads based upon geo data and user agent support.
The possibilities for targeting are almost endless. You'll run out of ways to reroll it before you run out of ips and agents to serve.
Indexability. Just getting your site fully indexed can be a challenge in some environments (flash, shock).
4) Referrer based cloaking is basing delivery on specific referral strings. It is good for content generation such as overriding frames (about.com, ask jeeves, and the google image cache).
Preventing unwanted Hotlinking to your graphics.
5) Session based cloaking. Sites that use session tracking (either from ip, or cookies), can do incredible things with content. We've all seen session cloaking in action on dynamic sites were custom content was generated for us.