It's there so you can erase the Flash without erasing a bootloader (if you use one), and also so that you don't accidentally erase your program if you have buggy code that erases Flash.
This protection works regardless of where code is being executed from. If you disable this protection, the interrupt vector table is NOT write protected and can be programmed using the Flash programming algorithm for that particular device.