As mentioned by John Denker, the “simplest" derivation of the Roche limit is obtained by setting the gravitational field of the satellite at its surface (the "hold it together" part) equal to the radial gravitational tidal force of the primary body between the center of the satellite and the nearest or most distant point on its surface (the "rip it apart” part).
It yields the result
S = [2 (rho_primary / rho_satellite ) ]^(1/3) R = 1.26 (rho_primary / rho_satellite )^(1/3) R
where R is the radius of the primary (orbited) body … AND is flatly wrong because it neglects the tidal component of the centrifugal field. Including the centrifugal component of the tidal force leads to
S = [3 (rho_primary / rho_satellite ) ]^(1/3) R = 1.44 (rho_primary / rho_satellite )^(1/3) R.
But this result is still at VERY significant odds with the original calculation of Roche in 1849
S = 2.44 (rho_primary / rho_satellite )^(1/3) R
which assumes a fluid satellite in hydrostatic equilibrium … and makes the calculation significantly less straightforward!
It’s easy to understand why a fluid satellite will be torn apart at much larger distances from the primary because of the fact that the tidal forces themselves will deform the satellite into a radially elongated ellipsoidal shape which, in turn, further increases the tidal forces.
The basic gravitational field of the primary goes like
1/S^2 where S is the separation between the two bodies,
i.e. orbital radius. This is just Newton's law of
The tide-producing field is the *difference* you get by
subtracting the basic field's value at the satellite
surface from its value at the satellite center. This
is easy to visualize in the /accelerated/ frame that
follows the satellite center. Using Einstein's principle
of equivalence we can zero out the acceleration at the
center, and then the surface tidal acceleration is just
the aforementioned difference. Conceptually, this is
not complicated at all.
Plugging in, the Roche limit occurs when:
m/M ∝ (r/S)^3