Why custom roms are .zip filed than made as .ftf I am asking about Sony Xperia devices and I dont know this suites other brands or not. The custom roms provided by the ROM cooks were .zip files where we need to flash the kernel and then the rom zip to install. Why the roms were not made as a .ftf file so that it can be flashed easily via flashtool?
.ftf are more suited for the older line of Xperia devices and is proprietary format, the trend with newer Sony devices is .elf instead. 

Their layout of kernel image is non-standard, this requires a special script to run against the freshly built kernel image to convert it and add extra special markers to make it compatible for the Xperia to enable booting. 

Without the markers, the flash will fail, Androxyde's Flashtool has the capability to generate the .ftf, .elf by concatenating the kernel image (usually gzipped raw flat binary) with a header called .sin which has some proprietary encoded binary that fixes up the bootloader's address from which to boot up under. The script can be found on Sony's Opensource portal website, that contains a blog entry highlighting how to create a flashable kernel for Xperia S model.

The custom ROM's that the OP is referring to is more of a "universal generic" method, which contains the kernel and the files that composes of the ROM, that is made suitable by the likes of ClockworkMod (CWM) and TeamWin Recovery (TWRP)  to use them.

Some manufacturers are free to deviate on how their kernels are created and if necessary, applicable handling to convert it to a form suitable for flashing, such as Sony's own format, rather than using mkbootimg which is a more generic form of creating a flashable kernel (this combines the kernel image and auxiliary supporting files), that is compatible with most, if not, all devices with some exceptions, like Sony.

As case in point, the kernel has to flashed separately first before flashing the ROM. For others, CWM/TWRP can directly flash the newly built boot image file created via mkbootimg first behind the scenes then write out the files into the /system partition.