тег < p > он является блочным, и тег < span > он является строчным. и увидел как люди когда им нужно сделать тег < p > строчным добавляют к нему в css свойство display: inline block; Зачем?
Нередко в коде пишут полную дичь, даже не понимая что они делают, зачастую веб-сайты делают школьники для подработки. Также само как и пишут книги люди, бывает абсолютно неадекватные человеки это делают, а бывает великие учёные. И осуждать каждую нелепость, в какой либо книге - попросту не хватит жизни.
Ориентируйтесь на чтение кода у сайтов больших компаний, а не каких попало. Там тоже так делают?
Разница в тэгах существует вовсе не для того, чтобы их было удобнее стилизовать или пользоваться стандартным стилем браузера. Вам ниже сказали на что нужно обратить внимание - семантика. css к разнице тэгов вообще никак не относится.
Ну и отвечая на вопрос, да. Разница колосальная.
Это как разница между словом в предложении и самим предложением.
Если в тексте надо, например, выделить какое-то определённое слово каким-нибудь цветом, то это слово можно обернуть в <span> и присвоить этому элементу span желаемые стили, класс или ID. <p> для этих целей не используют.