Мне в одном из последних проектов довелось делать прижатый футер. Но из-за того, что макет очень нетипичный пришлось делать довольно сложный скелет. Высота футера НЕ должна была быть статичной. Футер классическими css средствами прижать не удается. Но клиенту оказалось все равно, и мне пришлось думать как прижимать футер. Сделал перерасчеты на js. Проблему решил на requestAnimationFrame, для ИЕ8-9 был фолбек в виде setTimeout заведенного на 60FPS. Все отлично работает, никаких тормозов. Делать только на setInterval/setTimeout конечно плохо, т.к. эти методы загружают CPU до предела. Делать так как в той статье с проверкой раз в секунду - тупо, т.к. это слишком малая частота проверки и если что-то будет меняться на странице, то пользователь заметит "перескоки". requestAnimationFrame очень хорошо подходит для таких задач, в отличии от setInterval/setTimeout, работает на полную мощь только когда вкладка активна и не поглощает все ресурсы под завязку, соответственно общая нагрузка не очень большая. Так что вот такие пироги не все так однозначно и просто бывает. Для простых случаев конечно только css, но не стоит так категорично относиться к подходам на js