Это довольно просто.
localhost - это хост компьютера с которого и делается запрос. 127.0.0.1 - то же самое, только это уже айпи адрес который ведет на этот же компьютер, с которого делается запрос.
Это что-то вроде "Меня зовут Андрей." и говорить себе "Андрей, подай мне банку пива с холодильника" и брать банку пива) Так же и компьютеру если сказать сделать запрос на 127.0.0.1 /localhost он будет делать запрос самому себе.
Применений очень много, но вряд ли тебе они понадобатся.
Как один из примеров -- когда ты ставишь себе веб-сервер(или сама настраиваешь вручную или ставишь сборки что-то вроде Денвера или WAMP-server) на компьютер, то тогда до сайта который ты сама пишешь нужно будет делать запрос с браузера именно на localhost или 127.0.0.1.
Второй пример применения -- редактирование hosts файла. Это файл для перенаправлений запросов на уровне ядра операционной системы. Можно, например, сделать перенаправление с вконтакта на сайт президента. И сколько не пытайся открыть в браузере -- все равно попадешь на сайт президента :)
Если же перенаправлять на локалхост или 127.0.0.1 -- просто будет говорить что такой сайт не найден чем часто и пользуются зловредные программы.
третье применение, возможность проверки своей сетевой карты