A journaling file system will ensure that individual metadata changes are atomic (such as creating directory entries, renaming files, etc.). It only applies to one change. If your system crashes, the file structure itself will be correct, but the data
in your files might not be.
A logging file system (terminology is sometimes different), both the metadata and the actual data are journaled. This allows it to make sure the contents of the file are correct, but it still only works on one operation.
A transactional file system (AFAICT for Vista) will do both data and metadata over many modifications. So, you can create and modify many files atomically (either everything is done or nothing is done).
It's nice to see Microsoft moving us out of the stone age. Trying to write safe file-system modification routines on most file systems is tricky (using atomic rename tricks and such) and requires a lot of "check for cleanup" code during startup if you want
to handle it properly. I work on systems that cannot fail (embedded systems where nobody can administrate them), and would really love something like this.