I'm going to take a slightly cynical, devil's advocate view...
Snow's answer lists a whole lot of good stuff that should be documented, but nearly all of this should already be documented, and continually being kept up-to-date. If this documentation doesn't exist (and I know there'll be plenty of places where it doesn't), then that's essentially a failing of your management not to get the right practices put in place during your time with the company. If that's the case, them trying to remedy their failure by "dumping" on the person who's leaving the responsibility of "documenting everything" is not good.
Kilisi's answer suggests "Do it how you would want to read it if you were taking over" which is again an nice ideal, but should perhaps be tempered with consideration of what you were given on day one. If you were given next-to-nothing, e.g.: "there's the code, if you can't work out how something works, ask someone", and the situation hasn't changed since you've started, again, it's not really the responsibility of the person leaving to fix bad practices.
The gist of what I'm trying to say is: if it applies, don't get bullied into trying to fix inherently bad practices.
If most things are already documented in good detail, your "handover" should be relatively short; the handful of things "in your head" that others might not be fully aware of. You will know best what these are, but should seek guidance from your project manager over any specific areas they are interested in.
If existing documentation is sparse, out-of-date or non-existent, then it's not your responsibility to fix "systemic failure" as you leave. Brain-dump what you can, to help the poor sod who replaces you, but don't feel guilty because this situation should have been tackled (by management) long ago.
Of course, if you've deliberately "hoarded" information that only you know, and not kept existing documentation up-to-date, then it should be your responsibility to finally get around to passing that information on in the most helpful way you can!