What does "soft reset" actually refer to?
It is a softwarereset and has an API CySoftwareReset(). Under normal conditions all resources the bootloader needed get released as the interface, LEDs etc and the project starts with its own initialization.
Due to the huge amount of resourcescthe BLE takes there are some "tricks" (yet I never used) to re-use components for BLE when OTA(updating Over The Air) is required.
As the bootloader and bootloadable are completely self-contained PSoC Creator projects, each has its own device configuration settings. While changing to new configuration which involves setting of thousands of PSoC registers, it is necessary to make sure that you reset the bits for the old configuration, in addition to setting the bits for the new configuration. eg: PSoC’s digital and analog routing features.
Software reset causes all PSoC registers to be reset to their default states. Later configuration for the new project can begin. Initialization of all PSoC registers to their device reset default states, configuration time and flash memory usage can both be reduced.