Например, у тебя на сайте есть раздел "Новости". И вместо того, чтобы для каждой новости делать отдельный HTML-файл, делается единственный файл шаблона - для всех новостей. Контент каждой новости хранится как отдельная запись в таблице БД и когда пользователь обращается к странице новости, PHP-код, обрабатывающий этот запрос, читает из таблицы БД нужную строку, подставляет контент в шаблон и отдаёт получившийся HTML-код браузеру.
Если нужна страница со списком новостей, PHP-код читает из таблицы БД группу строк, подставляет их в шаблон страницы списка новостей и отдаёт получившийся HTML-код браузеру.
Аналогично, в БД хранятся комментарии посетителей, информация о пользователях (для авторизации на сайте) и т.д. Фактически, всё содержимое сайта - это записи таблиц БД из которых PHP генерирует передаваемый браузеру HTML.
Но PHP-код не обязан генерировать HTML. Он может делать с данными, полученными из БД, что угодно и как угодно. Например, он может преобразовать их в формат JSON и отдать в таком виде - получим не страницу сайта, а WEB API.