В чем ключевые различия блочного от строчного элементов?
Читаю документацию и почему-то их различия как-то в скользь везде описываются
Строчный от блочного элемента отличается только тем, что у блочного элемента ширина по умолчанию 100%, а строчный не может занять 100% родительского блока, пока мы его не переведем в инлаин блок?
И в блочный элемент можно помещать любые другие блочные или строчные элементы, а в строчный только строчные?
На этом все?
Не 100%, а занимает всю доступную ширину. Почитайте про box-sizing, поймете в чем разница.
отличается только тем
Нет не только. Ещё у строчным не задать размеры (и ширину и высоту) и вертикальные отступы. Вертикальные паддинги задать можно, но работать они будут не так, как для блочных. А также и некоторые другие свойства работают не так, как с блочными.
первый блок второй строка.
А отличий вагон и малая тележка.
В общем отличие что блок позволяет более гибко управлять позиционированием.
Однако я рекомендую использовать семантическую модель.
То есть в идеале html не должен содержать ни тэгов class ни тегов style.