I'm learning node.js thesedays and new to back-end. One thing that I'm confused is why do we have to use View Templates? Why don't we just use HTML form on server side?
Templates are used in most of the language platforms, not just NodeJS. There is a school of thought in software development that says "Your data/business logic should be separate from your presentation" and templates are used to achieve that. This is ofcourse the right concern for software development and it's benefit are most visibly seen in Model-View-Controller frameworks like Rails, Laravel, and Symphony to name a few.
There are many benefits to keeping your data/business logic separate from presentation:
Developer and Designer roles are vastly separated and their responsibilities are well defined.
Your application user interface becomes modular that is it can be changed without involving a developer.
Your application business logic can be altered by developers as long as they provide the data required for template rendering.
Code consistency is vastly improved as the templating language provides uniformity and you do not have to use dynamic language constructs with raw markup(in case of web projects but you get the idea).
For a practical example of these benefits, you can look into many open source projects like Ghost, October CMS etc.