"Mandatory"? "Have to"? According to whom? There is no law saying that you must (at least in the US), unless you happen to be under a government contract that requires Section 508 compliance (accessibility to people with disabilities, such as the blind; a JavaScript solution may not work well in a screen reader) or whatever your local equivalent is.
Now, should you? Probably, yes. Do you really want to tell your users who prefer to run with JavaScript disabled that they can't use your service? Or do you want people who are running on mobile phones with slow processors and possibly worse or no JavaScript support not to be able to use your service? Consider also your blind users who may be using your site with a screen reader. Also, it's easier for search engines to index your site if all of the content is in static versions of the page, rather than hidden in something loaded via an XMLHTTPRequest. And a well designed static website can also be much more easily adapted into a REST type API than a dynamic JavaScript based site.
Of course, there are always some applications that just don't make sense as a static HTML page. If you're implementing a drawing app using an HTML5 canvas
, there's really no way to make that static. But on the whole, if you can do a static version, and it doesn't add too much to the cost of the project, you probably should. In fact, some advocate that you do a plain HTML static version first, and treat the styling and JavaScript as a progressive enhancement on the static version, rather than the primary focus.