DataGrid ListBox and HTML Select use a collection as a data source. For example listbox uses listitem as a child control but in case of windows there is no list items. When you call DataBind on a parent control it cascades to all of the children of the control. so databind is needed in asp.net not in windows.
Similar is the case with other collection controls like Radio button list and Checkbox list etc