Для примера возьмем магазин Ulmart, у нас есть его пункт самовывоза. По-умолчанию у меня выбирается мой город, я смотрю товар и заказываю его туда. Но на прошлой неделе, к примеру, друг попросил заказать там велосипед для ребенка, оранжевого цвета. Доступен для заказа был только зеленый. Но сверху же есть выбор города, я ставлю Москву (ибо еду туда на след. день) и вижу, что в 7 магазинах они есть в наличии. Заказываю там с самовывозом и на след. день забираю.
Также я порой сравниваю цены, ибо в разных городах они могут быть разными, особенно это касается магазина DNS.
В моем случае для ближайших ко мне городов я хочу выводить разную информацию о доставке, к примеру. А так как определение по IP не очень точное (мой провайдер много городов в одной подсети держит, то определяет город совсем не точно), тогда и покупатель не увидит вовремя информацию, которая его касается. А так, поправив сразу город он получит правильный месседж!