Does flashing a custom recovery requires rooting the device, or just unlocking the boot-loader is enough? On my Nexus 7, I was able to flash custom recovery (CWM) without rooting. Is the same applicable on other android devices too?
No, it doesn't require root. Although we talk about rooting the device, all you're actually doing is getting root access within the Android OS. Flashing a new ROM or recovery happens before Android is running - it's a lower-level part of the firmware - so you can do it regardless of how Android is set up or what permissions you have within Android.