В em удобно задавать размеры внутри одного смыслового блока. В терминологии БЭМ - для элементов. Ну потому что все элементы зависят от своего блока-родителя, подчиняются какой-то внутренней логике, и он применяется как единое целое. Для самого блока задается размер шрифта в rem/px и играет роль "локального корня". А для вложенных элементов, паддингов, отступов - в em.
В приведенном примере с h1 смысла действительно немного, потому что между body и h1 могут быть ещё элементы. А могут и не быть. А если будут, то непонятно сколько. Ну то есть цепочка наследования не определена точно. Нельзя наследовать размер от элемента, который состоит с тобой в непредсказуемой степени родства.