While em is relative to the font size of its direct or nearest parent, rem is only relative to the html (root) font-size. I like to think of it as a reset. If a style sheet is built in a modular fashion, then rem shouldn’t be needed very often, but it can be handy at times.
For example, if you’re trying to achieve consistent spacing without extra markup, rem can be used to define the padding and margins.