В основном да.
Уж заголовки точно, хотя бы потому, что так проще, короче и собственный код легче читается.
Написать h1 и к нему h1{}, чем городить дивы с классами.
Всегда семантика, везде. В 2016м иначе как-то не представляется уже. Семантика - это не "потому что гугля надо удовлетворить", это логика и смысл в разметке. Это другая парадигма мышления. Если на нее переключился - зачем мешать подходы?