Journaling is the only on-disk change, the two are seperate drivers in Linux and as such they've changed quite a bit as fixes have been put into them.
Journaling is the act of commiting all changes to a journal file before making them and only removing them from the journal after you're sure they're complete. So if something happens in the middle of the commit (say a power flicker) when you reboot you look at the journal and say "Oh there's 5 transactions that never made it to disk" and you either finish them or roll them back like it was never initiated, this way the filesystem state is always in a 'good' state.