What purpose is each suitable for?
I'll just name a few pro and con points for each. This is by no means an exhausting list, just an indication. If there are some big omissions that need to be in this list, leave a comment and I'll add them, so we get a nice, big list in one place.
- supported by all distro's, commercial and not, and based on ext3, so it's widely tested, stable and proven
- all kinds for nice features (like extents, subsecond timestamps) which ext3 does not have.
- Ability to shrink filesystem
- rumor has it that it is slower than ext3, the fsync dataloss soap
- support for massive filesystems (up to 8 exabytes (yes, 'exa') on 64-bit systems)
- online defrag
- supported on upcoming RHEL6 as the 'large filesystem' option
- proven track record: xfs has been around for ages
- wikipedia mentions slow metadata operations, but I wouldn't know about that
- potential dataloss on power cut, UPS is recommended, not really suitable for home systems
- Unable to shrink the filesystem - See https://xfs.org/index.php/Shrinking_Support
- said to be fast (I have little experience with JFS)
- originated in AIX: proven technology
- used and supported by virtually no-one, except IBM (correct me if I'm wrong; I have never seen or heard about JFS used in production, though it obviously must be, somewhere)
- fast with small files
- very space efficient
- stable and mature
- not very active project anymore, next generation reiser 4 has succeeded it
- no online defragmenter
- very fast with small files
- atomic transactions
- very space efficient
- metadata namespaces
- plugin architecture, (crypto, compression, dedup and meta data plugins possible)
- Reiser4 has a very uncertain future and has not been merged yet
- main supporting distro (SuSE) dropped it years ago
- Hans Reiser's 'legal issues' are not really helping
I recommend this page for further reading.
Nice words about advantages and disadvantages.
My first and last experience with EXT4 on debian linux squeeze (older version 6.0.0 x64) was with 2x500GB harddrives without RAID.
Until now I don't absolutely know what happened, but after few days I realised, that I am out of space. 0 bytes free. A lot of free nodes. du -sh for whole partition wrotes me only 250GB of space is taken. Where has gone remaining 250GB? I don't remember, how did I solve this problem, but since that situation I decided to go back to EXT3. With EXT3 i never had same problem. I think there was problem in version of squeeze, i was working with. Newer versions should be already OK. If you want it for ordinary PC, just use EXT4. In my case for server I'm happy with EXT3. If you are security manager of your IT company - use ReiserFS or Reiser4.
ReiserFS I can recommend to everybody, who wants really massive security and data encryption. But if some happens, and you forget password, you will probably have more than huge problems. ReiserFS is only one opensource file system, which does US army use, because of security and encryption.
So in my case, i USE EXT3 and I don't care if EXT4 is about few % faster or not. I need stable file system without problems and hope you will understand my bad experiences with EXT4.
However I wish you happy and easy work with using any of these FS.
edit: Guys, based on this test - EXT4 is faster than ext3 in most cases: http://www.abclinuxu.cz/blog/rb/2010/9/maly-domaci-test-filesystemu-ext3-ext4-xfs-jfs-reiser4-btrfs
Performance graph is down there too. It could be useful information for you.