Usually, you would see RS used in a setting where any error is going to be erasure (non erasure error -> failed checksum -> erasure error).
Then you use something like LDPC codes for in-packet ECC. RS for multi-packet ECC.
Then you use something like LDPC codes for in-packet ECC. RS for multi-packet ECC.
In my experience, LDPC is usually better for soft-decision decoding, where you have information about how reliable each bit is. RS is usually better for hard-decision where you don't know anything about the error locations. Also LDPC is usually bit-oriented, and RS is always a symbol-oriented code, so RS works well for burst errors.