It is mentioned in MSDN site as -
So one should avoid using this method as much as possible.
We use DataBinder.Eval method quite frequently in controls like GridView, Detailsview, DataList or Repeater to evaluate data binding expressions at run time because of simplicity like i used for Running Total in GridView.
decimal rowTotal = Convert.ToDecimal (DataBinder.Eval(e.Row.DataItem, "Amount"));
Or in General context
<%# DataBinder.Eval (Container.DataItem, "Price") %>
Now as Eval method is performance hungry we can avoid using it by writing code like mentioned below.
<%# ((DataRowView)Container.DataItem)["FirstName"] %>
Casting Container.DataItem as DataRowView explicitly performs better then Using Eval method.