Подробнее о чем?
О таймера читать здесь - различия в работе между setInterval и setTimeout. Там же и есть и код рекурсивного setTimeout, что и нужно.
А использовать синхронный запрос нельзя потому, что в этом случае браузер блокирует всю работу со страницей пока не будет получен ответ сервера, и при интервале 5 сек, да еще с учетом задержек ответа или нештатных ситуаций, это фактически заблокировать доступ клиенту к странице (
все об Ajax тут,
либо тут, если использовать jQery).