Short circuit returns are the devil - they make it much harder to factor out part of a function into a smaller function. A function should have one entry point and one exit point; that's the whole point of structured programming. If you're going to return from some random point in the middle of your function you might as well be using goto.
(Of course, good programming languages provide a better solution than pyramid-of-doom nesting)
(Of course, good programming languages provide a better solution than pyramid-of-doom nesting)