Just got the same board (2-relay version), and made a bit late the same discovery as you : the ESP8266 is only doing a Wifi-to-Serial translation, while the ocntrol of the relays (and the interfacing of the two buttons) is handled by another processos (8-bit STM8) that you can't change. The buttons are used to change between an "Access Point" mode, where your controlling device (phone/PC/...) connects on the 8266 private WiFi network or "Station" mode (where both your phone and relay module are connected on the same network.
You obviously can reprogram the ESP8266 any way you like, using Arduino IDE or other compiler, but the interface between both system is 4bytes fixed : "A0"/Relay/On-Off/Checksum
First byte = "A0", second byte = relay number "01" or "02, third byte is 0 for OFF and 1 for ON, and fourth byte is sum of all three. No CR/LF or other separator needed, but they are sort of allowed between the commands as they will be discarded. Only teh 4-byte sequence above is recognized and executed.
Pros and Cons : For me the biggest pro was the price and size : very cheap module, cheaper than a relay module with 8266 soldered on board, or relay module with cable to some ESP8266 or ESP32 module.
Cons are that you are forced to adopt the system, and you don't get feedback on the execution AFAIK : there is no documented way to confirm that the relays are ON or OFF, the buttons cannot be used for manual override, there are several versions (some with 9V-30V regulator to accept higher power supply voltage, some without, some different pinout with "SWIN" or other unclear functions, using the buttons may change the WiFi mode without warning to your system, etc.