Auth redirects inconsistent?

No.

A lot of people seem to have the wrong expectations of the Auth component. The automagic redirects after the user has logged in seems to be misunderstood a lot. Here is what it does. Say you have defined this in your AppController’s beforeFilter():

$this->Auth->logoutRedirect = array(
	'controller' => 'dashboards',
	'action' => 'index',
	'admin' => false
);

$this->Auth->loginRedirect = array(
	'controller' => 'dashboards',
	'action' => 'index',
	'admin' => false
);

So what happens when a user clicks the login link and logs in? The user will then be redirected to /dashboards/index. If a user enters a page that is denied by Auth, the user is redirected to the login page. When the user logs in then, the user gets redirected to that specific page that wasn’t allowed before login.

If you find this annoying, you can easily disable this feature by using:
$this->Auth->autoRedirect = false
However you need to handle the user redirection manually in your login action. Like this:

public function login() {
	if ($this->Auth->user()) {
		$this->redirect($this->Auth->loginRedirect);
	}
}

When you need to do some stuff when a user logs in and you want to maintain Auth’s redirecting behavior you can do it like this. Again setting autoRedirect to false.

public function login() {
	if ($this->Auth->user()) {
		$this->User->registerLogin($this->Auth->user('id'));
		$this->redirect($this->Auth->redirect());
	}
}