I am comparing the two base classes of each namespace and am a bit confused.
System.Web.UI.WebControls.WebControl System.Web.UI.HtmlControls.HtmlControl
I see small difference between the two. For instance, HtmlControl has much fewer properties while WebControl has a lot of properties like the CssClass property. Other than just extra properties the WebControl base class seems to be more robust in the way it handles rendering.
Why the need to have two namespaces and two sets of almost Identical Controls?
The controls in System.Web.UI.HtmlControls are just a thin wrapper around actual HTML controls. System.Web.UI.WebControls.WebControl are your standard ASP.NET controls.
To expand on this a bit: