Derived Shared Key vs Distinct Keys?
For your example protocol with RSA-exchange in both directions, combining both keys to one protects against some weaknesses:


By combining the random numbers from both sides, the result is really random,
even if one of them has a weak or compromised randomness source.
If one of the private keys is compromised, in your protocol the attacker can
read all the data flowing to its owner. If we combine the random data by XOR
with the other random data to derive the session key, the resulting key is
still unknown to an attacker, and she can't read anything.


Of course, for the actual encryption (and authentication, i.e. a MAC key), you should then use not this combined master secret directly, but derive different keys for the different purposes from it. This avoids some replay attacks.