This is because there are differences in color gamut. RGB is composed of colored light (additive), CMYK is reflective (subtractive). There are just some colors you cannot get in one or the other. Add to that the contamination that occurs in the printing process.
The only real solution is to compose work intended for printing using a CMYK palette when you develop the layouts. Even that will be an approximation if you rely on what you see on the monitor - as said, CMYK colors wil not always be true representations on an RGB monitor. Many will spend millions on "monitor calibration" and will never circumnavigate this reality.
What I used to do is have a PMS book at hand under 5000K lighting and read the CMYK numbers from the book. I'd then turn to the computer and if in Photoshop, read the CMYK values in the Info pane. If in a layout program, I'd compare the color palette values against the printed book. Of course, you have to be careful to select the correct printing profile too when outputting the final DTP files.
You want to compare apples to apples . . . RGB -> CMYK is not just apples to oranges, it's apples to aardvarks.