being new to ASP.NET, whats the deal with the runat server controls like the command button versus the HTML controls like the button and textbox, etc...

when should one be used versus the other?