I have used LPC4330. It does have a boot ROM but no internal Flash.
It can execute code either from the internal SRAM or from a Quad SPI Flash.
SRAM is faster, of course, and it has multiple channels which allow both internal cores (M3 and M0) to fetch instructions and data simultaneously. If you put code/data for both cores in different SRAM blocks, they won't interfere with each other.
Executing code (or fetching data) from QSPI is of course slower, although the tiny cache memory does help... especially, random access is quite slow since the address has to be loaded across SPI. But you can get a huge capacity at a low cost.
You're supposed to place critical code and data in SRAM, and use QSPI for non performance critical stuff, like graphic data for your LCD if you have one, for example. The boot ROM will execute your code from QSPI, and the runtime includes a loader which will load code/data into SRAM according to the assignments in your linker script.
And... if you want to use your own code to flash the SPI Flash chip... like write your own firmware updater instead of using the debug probe, then this code and all the libraries it uses has to run from SRAM. You can't execute code from Flash while the flash chip is in program mode.