I found a good explanation here:
nil? tests whether the object is
  exactly nil, that is whether it is the
  one and only want instance of
  NilClass.
empty? is a method some objects
  respond to. You need to check the
  documentation for each case. For
  example, and empty array is one that
  is not nil (it is an array right?) and
  has no elements. An empty string is
  one that is not nil (it is a string
  right?) and has no bytes, nothing.
The blank? method you ask for does not
  belong to Ruby, it is a Rails
  extension:
  http://api.rubyonrails.com/classes/Object.html#M000011.
If you click through to the link at the end of that post you will find that the blank? method simply combines the nil? and empty? method calls.