Самый глупый вопрос тот, который не задан.Локальный сервер - специальная программа, позволяющая веб-разработчикам разрабатывать сайт на локальном (домашнем) компьютере, без необходимости выхода в Интернет.
Надобность в такой программе возникает именно при разработке динамических сайтов, т.е. сайтов, использующих в своей работе php (или perl, node.js и пр.) – скрипты. Для тестирования обычных html+css сайтов локальный сервер не нужен.
Тут, по-моему, важно понять, что какие-то вещи способен сделать браузер (распарсить html страницу, выполнить js код, ...), и они выполняются на стороне клиента, а какие-то вещи* выполняются на стороне сервера. В ответ на запрос сервер на основе скрипта / программы генерирует страницу, которую отправляет клиенту. В этом суть сервера. В этом и будет различие:
(ещё раз) если Вы в проекте используете исключительно языки, которые "понимает" браузер, Вы можете обойтись без локального сервера.
Для языков, которые Вы упомянули в тегах, нужны локальные сервера:
Java** -
Tomcat,
JBoss AS,
GlassFish,
Jetty и др.
Python*** -
Google App Engine, веб сервера, реализующие
WSGI, (
Twisted Web, например) и др.
JavaScript*** -
Node.js (основан на V8) и др.
Ruby on Rails*** -
WEBrick,
Mongrel, любой web сервер, поддерживающий
FastCGI, ...
__________
* Для реализации сайтов с динамическим контентом, либо по соображениям безопасности, либо, чтобы снять вычилительную нагрузку с клиента, ...
** Сервер нужен для сервлетов; java-апплеты выполняются в браузере, без участия сервера.
*** Важно: насчёт этих языков и фреймворка я не уверен, просто по-быстрому нагуглил. Надеюсь, знающий человек не пройдёт мимо этого ответа и поправит меня, если что-то не так.