If you really look at the code, it only works because someone wrote some bad code, then hacked at it until it produced the result they were looking for.
$this->user_model->login() == TRUE will never be true unless
$this->user_model->login() actually returns something. Since it does not, the
redirect($dashboard) call inside the if statement is never called.
However, in the else statement, it sets some flashdata and redirects to login (back to the function we're currently evaluating, I would assume, as we already have too many functions named login for my taste). At this point, we have:
PHP Code:
$this->user_model->loggedin() == FALSE || redirect($dashboard);
Since $this->user_model->loggedin() presumably checks the session's userdata for 'loggedin' == TRUE, it moves on to the portion after the || in this line and redirects to $dashboard, giving the same result that would have occurred if $this->user_model->login() had returned true before you were redirected to the current login method.
I'm not great with sessions, but I'm guessing that redirecting (yet again) is also going to clear out the flashdata that was set in the else condition before the previous redirect, preventing you from seeing the "That email/password combination does not exist" error.
Overall, you should probably find a better tutorial.