Потому, что при передаче данных от пользователя и обратно нужно правильно использовать API между средами, которые обеспечивают стек технологий web.
Например, рассмотрим взаимодействие веб-сервера и сервера баз данных.
В этом месте стека, не все разработчики умеют в буквальном смысле "готовить" запросы, в которых есть входные параметры.
https://www.php.net/manual/ru/pdo.prepared-stateme...
Вместо того, чтобы использовать специальный порядок подготовки запроса SQL и данных к его выполнению, начинающие разработчики просто склеивают текст запроса с непосредственно данными, которые во входных параметрах (ну, работает же), что небезопасно, даже если экранировать данные (от кавычек и точки с запятой вы спасетесь, но не от union + произвольный запрос).
Это касается не только использования паролей в качестве данных, но и любых других данных, в особенности поступающих от пользователя.
Такие нюансы работы с интерфейсами можно найти и при использовании JSON, XML, кастомного создания пакета данных HTTP (привет попыткам отправить электронное письмо из веб-сервера с вложениями самописными скриптами), формирования HTML с пользовательскими данными.
Если взаимодействие правильно организовано, то суть данных не должно приводить систему в непредсказуемое состояние.
PS: В базу данных, вообще, можно записать blob с произвольными бинарными данными в одно поле, гигабайт размером - как здрасти. И в этом блобе будете искать кавычки?))