1) You don't need them, they help you to output proper html code. As they are managed code level objects, you have intellisense support, strong types and lambda expressions. The main goal: not to write as less html code directly as possible.
2) No, they serve totally different purposes, and while the helpers run on server side, javascript is running on client side.
3) They help you to write your application in a consistent, sustainable, maintainable fashion, and also faster.
Read these:
http://stephenwalther.com/archive/2009/03/03/chapter-6-understanding-html-helpers.aspx[
^]
http://www.asp.net/mvc/tutorials/older-versions/views/creating-custom-html-helpers-cs[
^]