I have read in many guides that before flashing, we need to have a custom recovery like CWM installed. I am not able to understand why is this a prerequisite for flashing a custom ROM. Can I flash a ROM without custom recovery?
Technically, it's not prerequisite, but convenience.
You can download an update using your handset and store it locally on the sdcard, then reboot manually into recovery. Or use Rom Manager to do all that in an app and enjoy backup/restore and OTA updating without the need for a computer.
Stock recoveries won't let you do all the fancy stuff that a custom recovery let's you do.
Among them are:
- using adb in recovery mode
- flashing custom .zip's (that's what you'll need)
- format individual partitions
- wipe individual parts (Dalvik Cache, /Cache)
Some handset makers have their own means of low level access to flash. Fastboot then has not all needed commands built in.