For simple use cases, you can see that it is just syntactic sugar. There are, however, some differences that go beyond this.
One of them, for example, is the ability to define extensions in scope:
class Flower < ActiveRecord::Base named_scope :red, :conditions => {:color => "red"} do def turn_blue each { |f| f.update_attribute(:color, "blue") } end end end
In this case, turn_blue is available only for red flowers (because it is not defined in the Flower class, but in the region itself).
source share