help ensure the file-system is in a consistent state after an unclean shutdown
First thing of note is that XFS, reiser and most configurations of ext only implement meta-data journalling. Which is all about avoiding fsck. The journal is not always replayed on start up - it may be discarded if it's incomplete.
There are systems which support full data journalling - but in practice the level of assurance these give over just meta-data journalling is very small in real world scenarios.
So an 'inconsistent state', and the problems fixed by fsck are mismatches between the meta-data and the files themselves. To avoid this, the OS writes out the proposed meta data changes to the journal, then writes the actual data to disk, then applies the meta data changes which are replicated in the journal to the disk. The only catch with this, is that the disk controller will buffer and potentially reorder the requests. To avoid this most journalling filesystems implement barriers - they seperate each operation and wait for the disk to acknowledge it has completed the operation. But many modern disks actually acknowledge completion of writes before the data is committed. Hence things can get messy.
Is a fsck still needed after an unclean shutdown and why
Most filesystems maintain a mount count - once this count is reached a full fsck will be triggered at the next attempt to mount the disk. The reason being that disk data may be corrupted even when it's not explicitly being written to, even without bugs in the software. psusi's comment above is wrong.