Sometimes when programming it helps when you need to bit-fiddle integers (since most languages represent them in binary.) Most common case for this is when you're reading back information from a serial port (USB or RS232) - it's often encoded in some way that needs a bit of bit fiddling to extract the values you want.
Other than that, it's the *way of thinking* that helps more than the actual act of learning binary. You can traverse a (balanced) binary tree for instance by incrementing a number in binary and then reading it as an encoded form of the path through that tree - say if a digit is 0 you go left, if it's 1 you go right. Make the number of digits as long as the depth of the tree and hey presto, you've got an easy way of calculating all available paths in an encoded form.
Think of it as another tool in your arsenal of thinking outside the box