Profinite Rigidity and Flexibility for Residually Finite Groups