Search is your friend my friend. but in the nutshell, oclf creates a virtual device /dev/loop0, partitions it with EXT2 and mounts your /data on it after it moves the existing contents of /data on the original RFS formated partition.
Also it takes an advantage of the NAND storage, since it is faster.
RFS is the filesystem Samsung decided to use on the Galaxy S line, and it is highly inefficient due to the fact it is based on decaying FAT32.
EXT2 is an efficient filesystem that was/is used in linux systems, one of the drawbacks is that your data can become easily corrupted if unclean shutdown, or another drastic event occurs on the system. EXT3/4 have extended the EXT2 by providing a mechanism to store the data points in the journal, and virtally eliminating the corruption.