Hello Egoitz,
Normally, those options represent the target where your code will be loaded by a loader (either RAM or Flash).
RAM target is used in general for fast debugging and when you cannot write or you do not have a flash memory(ROM only). Once your code was loaded in RAM, you need to load the code each time when a reset occurrs (RAM loses its content being a volatile memory).
Flash target on the other side, is used to keep your code for a long time even after a reset will occur.
As a summary, loading your code in RAM and executing it from there is faster than executing it from Flash.
You need to pay attention here, because your code must be linked as position independent or linked in RAM's address space.
For instance, if you wrote a scatter file or a loader file and linked some code to a fixed address, executing from RAM and referencing from Flash will crash.