In bash, we can use the && operator to execute two commands. For example:
./foo && ./bar
Will first execute foo
The C language convention that 0 is false and anything else true, is just that, a convention. Bash (and unix shells in general), use the opposite convention: 0 is true, anything else is false.
$ if ( exit 0 ); then echo true; else echo false; fi
true
$ if ( exit 1 ); then echo true; else echo false; fi
false
$ if ( exit 2 ); then echo true; else echo false; fi
false
Because of this, the true command always exits with a status of 0, while false exits with a status of 1.
$ true; echo $?
0
$ false; echo $?
1
This can be rather disconcerting for someone who's used to the C convention, but it makes a lot more sense in shell terms that truth=success=zero exit status, while false=failure=nonxero exit status.
You're not missing anything. You just have to keep in mind that true and false aren't fundamental concepts in the shell. success and failure are.
You are missing that Bash's && operator is defined thusly:
command1 && command2
command2 is executed if, and only if, command1 returns an exit status of zero.