The .NET Framwork 2.0 introduces Eval(). Eval() is a shortcut for Container.DataItem() (or DataBinder.Eval() in .Net Framework 1.1). Since Eval() uses Reflection, it causes overhead. From a optimization standpoint, it is better to use Container.DataItem().
Note: If you use Eval in the edit item template, the Eval-ed value will not be able to be passed to the Update method of the datasource.