Why Ring Buffer is preffered for asynchronous communication?
FLASH and EEPROM memory do have endurance issues with multiple writes to the same location, but that doesn't affect RAM which is where you'd normally store a ring buffer for async communications. The main two reasons I can think of are:


Many common protocols don't follow the sequential command / response sequence you describe. For example GPS receivers send a fairly continuous stream so it's important to be able to continue to receive data while the previous data is processed.
Because ring buffers are often required for those sort of protocols it becomes more convenient to use them for all async comms. The only real extra overhead is needing both a queue tail and head which in many cases will only be a single byte.


Given your constraints if writing to RAM then simply resetting the buffer at the end of a message and starting again from the start of the buffer would be fine. But the uses are so limited and the advantages so small most would prefer to just use a ring buffer in all applications.