You can use the reset button of a bare Arduino Uno Rev3 like a push button.
The data stored at SRAM (noinit) instead of EEPROM, because there is no limit of writes and the values keep after reset. Noinit SRAM works similar to the RTC memory of ESP8266 chip. This kind of memory will not initialized at power-on. During first power-on start the checksum of this memory in it with predefined magic data to differentiate initialization and re-usage of the values. There is no need to use CRC for this small piece of data.
There are different use case. Personally, I use the reset button for my two-wheel robot to toggle between sketch modes or erase EEPROM data. You can also use this solution to detect serial connection via USB port of a computer, because the Arduino will automatically reset at plugin < 1000 ms after power-on.