Тег <b> формирует жирный шрифт в HTML. Пример:
See the Pen
тег b by Андрей (@adlibi)
on CodePen.
Примечание. Согласно спецификации HTML5,
<b>следует использовать как ПОСЛЕДНЕЕ средство, когда нет более подходящего варианта. В спецификации указано, что заголовки должны быть обозначены тегами от<h1>до<h6>, акцентированный текст (emphasized) должен быть обозначен тегом<em>, важный текст должен быть обозначен<strong>, а выделенный / подсвеченный участок должен обозначаться<mark>.
Отличие между <b> и <strong>
Оба тега оказывают примерно одинаковое воздействие на отображение текста в большинстве применяемых браузеров — буквы становятся толще. Но, хотя внешний эффект кажется одинаковым, между ними есть фундаментальная разница по заложенному в них смыслу.
<b> — это просто стиль — шрифт должен выглядеть более жирным.
<strong> — это показатель того, что здесь есть что-то важное для понимания. Например, программы для чтения текста должны читать такие участки более низким голосом, чтобы придать им большее значение.
Замена с помощью CSS
Большинство браузеров отображают элемент <b> со следующим значением жирности по умолчанию:
b {
font-weight: bold;
}
Таким образом вы можете сделать жирный текст и без специальных тегов, а только с помощью стилей, используя инструкцию: font-weight: bold.
Ниже пример, когда вместо <b> используем <span>, стилизуя его жирным.
See the Pen
жирный текст через span by Андрей (@adlibi)
on CodePen.

По поводу strong — прям неожиданно. Всегда считала что это одно и то же, что и <b>. Но <b> почему-то в последнее время мало где, используется. b или strong — это влияет каким-то образом на сео-продвижение текста?
Думаю эти теги не стоит пытаться использовать напрямую для seo-продвижения, то есть выделять ими продвигаемые фразы.