Использование ссылок следует из самого понятия переменной. Переменная в любом ЯП является ссылкой на область памяти, при чем примитивные типы (string, int, bool) автоматически передаются по значению, то есть при присвоении одной ссылки другой (одной переменной другой $x = $y) область памяти по адрему первой ссылки ($y) копируется и ссылка на нее передается во вторую ссылку ($x). При передаче сложных структур (obj, array) копировать память становится накладно и они передаются по ссылке без автоматического копирования. Так вот механизм ссылки позволяет присваивать элементарные типы без использования механизма автоматического копирования. Обастью применения может служить, к примеру, программа, одна из функций которой призвана получить в качестве аргумента ссылку на элементарный тип данных. Ну и так дальше