The wear-levelling algorithms in ordinary consumer flash devices are nothing to do with FAT. Cheap consumer flash has a built-in wear-levelling algorithm, and it is normally formatted with FAT, but the two aren't related.
FAT is a ghastly filesystem used with DOS, nobody likes it but it became the de facto solution for devices which must be shared between a variety of machines simply because of the popularity of PCs running DOS.
The wear-levelling algorithms (except in high-end SSD devices) do something noddy like maintain some blocks in a ring buffer and rewrite the next available block in the ring on update. This avoids writing the same block over-and-over, and thereby extends the life of the device.
JFFS2 (and its predecessor JFFS and their successor LogFS) are intended for use with a software translation layer on raw flash devices ("memory technology devices") with no built-in wear levelling. So for example, a set top box with 2MB of RAM and 32MB of raw flash, might use JFFS2 to store some resources like graphics for its OSD. When you switch the box on, JFFS2 requires a full filesystem scan, but that's OK because 32MB doesn't take long and people leave their STBs in standby anyway.
FAT and JFFS2 are like car batteries and jet fuel, they may share some properties in theory, but they have no real applications in common.