you absolutely need boot and system for a bootable backup. You, of course, need data if you want it to be useable. So, in addition to those, three you will want .android_secure, if, and only if, you use froyo apps2sd (the "normal" way) AND you intend to *remove* any of those apps. I say that, because if you remove any apps from there, then restore your nandroid backup, you'll end up with the app showing up in manage applications, but unusable. You're better off backing up .android_secure if you use froyo apps2sd, just to be safe. As was already stated, only backup sd-ext if you have partitioned the sdcard, and use a2sd. Now with 2.3, it will just skip it instead of erroring out if you accidentally select it when you shouldn't have.
Beyond that, I always select wimax, but if you're trying to save space, make maybe one or two backups that include it, then don't bother after that. Just make sure to remember which backups have it included, and keep them safe. Recovery is pointless, as you need recovery to restore a backup. If you lose recovery, you're not going to restore it through nandroid, so I don't see the point. Cache is not necessary either, but if you don't include it, make sure to wipe cache before restoring a backup. The restore process *probably* wipes cache for you, but I'm not sure. Be safe, and wipe it yourself.
The reason these are selectable is to help you save space. If you don't *need* a particular partition, don't back it up, and the whole backup will be smaller. It's a matter of trade-off, and how complete you want your backup to be.