Databinding is a costly process on the server side.
Sometimes it is possible to avoid it for quite simple output parameters, such as request variables, dates e.t.c.
If you view HTML of an ASP.NET page, you will see directives like <%# [here goes the bound data evaluation] %>
The directives with a # sign in them, are evaluated ONLY during databinding, which is the most suitable evaluation for most of the time... Which means, if you do not call Page.DataBind() in your code, those values will NOT be assigned.
But there are cases that you want to simply display a request variable, or date and time let's say, on the page, which does not necessarily require data binding...
<%= %> directive would come to the rescue for those cases. For example <%= System.DateTime.Now.ToString() %> will output the current time even you DO NOT call Page.DataBind()... It is the directive that behaves similar to Response.Write()....
But remember that <%= %> directive values are evaluated during the rendering of the page, after the Page.PreRender event is fired... So use it carefully.
Hope it helps.