Hola betinyo
En la pagina que nombras como ejemplo no hay ninguna magia, cada vez que clicas en una de las opciones se recarga toda la pagina, lo que pasa es que como es un sitio liviano (no tiene menus desplegables ni animaciones) se recarga rapido y te da la impresion visual de que solamente cambia la parte del centro, vos tambien podes hacerlo de esa manera.
Lo unico que tenes que tener en cuenta es que para que con cualquier cambio no te vuelvas loco te conviene "centralizar" la mayor parte posible de vinculos en un solo lado, por ejemplo, si lo que tenes es un menu con links podes crear una funcion en javascript que te cargue las opciones del menu y la invocas desde cada html, asi si tenes que agregar o cambiar alguna opcion lo haces en un solo lado. Otra cosa es que te conviene utilizar css, asi si invocas a una clase que le da formato a un div, vas a estar seguro que ese div va a estar ubicado en el lugar que queres, con el fondo y color igual que los de las demás paginas...
Todo depende de lo que quieras diseñar, si lo que queres es un sitio interactivo, algo como este foro vas a tener que recurrir a otro tipo de programacion (php o directamente ajax)
Cita: no soy capaz de descubrir si lo que se esconde detrás es Ajax, Javascript, los dos, ninguno, ...
no te confundas ajax y php son lenguajes del lado del servidor (ajax es la union de php, javascript y algo mas) y sirven para sitio interactivos en los que requiera guardar datos en una base de datos (por ejemplo: foros, catalogos con carritos de compra, libro de visitas, etc)... javascript es un lenguaje del lado del cliente y lo utilizan la mayoria de las paginas para crear algo de interactividad pero sin guardar datos (imagenes rollover, cambios de imagenes en un lado al clicar en otro, etc)
Espero que te sirva mi comentario
Saludos