«Хитрый» history.back(). Как правильно реализовать возврат в каталог, после просмотра нескольких товаров?
Сомнительный функционал, на самом деле. Я по нажатию «назад» хотел бы увидеть именно предыдущее состояние страницы, а не как не сразу страницу каталога, для этого обычно хлебные крошки служат.

Можно попробовать поискаться с History API, но сходу вменяемое решение предложить не могу. Разве что где-то держать колличество переходов с момента нужной страницы и делать history.go(-n);
В backbone есть кроссбраузерная реализация работы с историей.