<% tasks = Task.where(:done => false) %> <% tasks.each do |t| %>2-4 行でタスクの名称を列挙しているので、該当するレコードデータはすべてアプリケーションに読み込まれています(この状態を「オブジェクトがロードされた」と表現します)。<%= t.name %>
<% end %>合計: <%= tasks.size %>
このとき、tasks.size はデータベースに問い合わせる代わりに、オブジェクトの個数を数えて返します。しかし、ここで tasks.count と書いてしまうと、Rails は再度データベースに問い合わせます。微妙な話ですが、少しだけ無駄なのです(はじめる!Rails3(2)より)。