Confusing use of && and || operators

I was skimming through an /etc/rc.d/init.d/sendmail file (I know this is hardly ever used, but I’m studying for an exam), and I’ve become a bit confused about the && and the || operators. I’ve read where they can be used in statements such as:

Extracting nested zip files

I have numerous zip archives, each of which contains a number of zip archives. What is the best way to recursively extract all files contained within this zip archive and its child zip archives, that aren’t zip archives themselves?