Существует довольно много Javascript-фреймворков, которые позволяют анимацию (jQuery и т. Д.).
Это не хак, а творческое использование DHTML.
Недостатком является то, что Javascript может съесть память браузера. Flash, с другой стороны, работает параллельно с браузером (как отдельное приложение) и поэтому может работать быстрее при рендеринге анимированных эффектов. НО Flash требует наличия плагина Flash Player, который должен быть установлен отдельно и может быть недоступен для всех браузеров и на всех устройствах.
Итак, и Flash, и анимация через Javascript имеют свои плюсы и минусы.
HTML5, который, как заявляет Apple, заменит Flash, пока не поддерживается повсеместно и, очевидно, будет предлагать еще более простые варианты анимации.
Надеюсь, это поможет. К сожалению, это скорее вопрос типа «каково ваше мнение», а не резкий и сухой ответ.