Почему для применения классического волнового уравнения наша среда должна быть недиспергирующей ?
Просто потому, что если она диспергирующая, то там будет другое волновое уравнение.
Чтобы получить формулу мы используем разложение в ряд Тейлора . Далее подставляем решение в закон Ньютона. Получаем дифф. уравнение. Этому уравнению должны ставить конкретные требования , одно из них - недиспергирующая среда. То есть причина в математике.
Тут некоторая мешанина, но да, причина в математике. Само слово "дисперсия" - математическое.
Надо использовать не ряд Тейлора, а преобразование Фурье. Тогда волновое уравнение

преобразуется в

Сокращая на

получаем условие разрешимости этого уравнения:

- то есть, две бегущие волны, вправо и влево. Это уравнение называется дисперсионным уравнением или дисперсионной зависимостью, и изображается на плоскости

прямой линией, проходящей через начало координат. Это - среда без дисперсии.
Среда с дисперсией - это когда линейная зависимость не выполняется. Причины могут быть разные, но в любом случае, будет что-то вроде

И проходя весь путь обратно, мы получим совсем другое волновое уравнение - хорошо ещё, если дифференциальное, а может быть и интегро-дифференциальное.