When you use tinyprog -b, it writes to the flash memory (at address 0x28000).
When you press the reset button, it does not erase the flash memory, it just enters the bootloader, which is address 0xa0 in the flash memory. The bootloader decides what to do next.
If you are connected to a computer, it stays in the bootloader waiting for commands. To enter your program, you can do tinyprog -b.
If you power the device from a USB charger, not a computer, the bootloader with boot directly into your program, rather than wait for commands. It uses SB_WARM_BOOT to do that.