&& means AND.
|| means OR.
How it works is this:
1) Bash sees the && and realizes "ah, I'm evaluating a conditional expression". It doesn't matter that we'll never do anything with the combined condition.
2) Bash executes the first part (before the &&) and makes a decision: if the first part returns non-zero (an error) it realizes "well, false and any value return false, so let's skip executing the second part". However, if it returns 'true' (0), bash knows it has to evaluate the output of the second part to determine the final condition.
In other words, suppose we have:
command1 && command2
Bash would see it like this:
if RESULT_OF_COMMAND1 == FALSE
if RESULT_OF_COMMAND2 == FALSE
(That's just pseudocode, btw, don't try to execute it) If COMMAND1 gives false, then it never tries to get a "result of command 2".
I hope that's cleared things up a bit.