After any ride that gets the bb under water, or a ride that is real muddy, otherwise once a month I take the fork off and lube/clean the headset, I also take the BB out and do the same. Externally after nearly every ride. Also the chain after nearly every ride. On my bike with v brakes I take the arms off the posts and clean/lube every couple months or so. I do a lot of part swapping around from bike to bike and you can't imagine how cruddy these things get inside after a couple of wet or muddy rides. I rarely lube cables mainly because you can change them out for 3 bucks, it's just not worth the effort.
One thing I learned, after a cruddy ride I stop off at the car wash on the way home, blast away with the pressure washer, speed home like a mad-man to air dry then spray lube all over everything when I get home and let it soak overnight. The next day I wipe off the excess lube and I'm good to go again. Note: if you ever use a pressure washer you really need to completely disassemble everything periodically and lube.