Question: Why would I ever run Html controls on the server? As in, why would I want to do this?

```
<p runat = "server">This is a paragraph.</p>

```

Answer: 
One reason you might want to use the HTML controls versus the server controls is to force the rendered HTML to be of a certain element. 

For example, a `GridView` by default will render as an HTML table, but you may want it to render as DIVs for a table-less layout. 

HTML controls give your more flexibility in the HTML output; which is one of the reasons people like ASP.NET MVC over ASP.NET WebForms, because you are controlling more of the end result instead of the ASP.NET engine deciding certain things for you. 

Obviously, with power comes responsibility, you will lose some of the conveniences of server controls.
If you wanted to reference it in the code-behind. Like this:

```
<p id="myParagraph", runat="server"> ...

```

and then in the code-behind:

```
this.myParagraph.Visible = false;

```

I'm not saying you'd set the `Visible` property, I just used it as an example.

Now, the way you have the `<p>` marked up now, you wouldn't be able to do anything with it because it's missing the `id`.