Rails Engines are a way of dropping in whole chunks of functionality into your existing application without affecting any of your existing code. They could also be described as mini-applications, or vertical application slices – top-to-bottom units which provide full MVC coverage for a certain, specific application function.
Watch, don’t tell! http://rails-engines.rubyforge.org/movies/engines_intro.mov (13MB Quicktime)
====
Do not rely too much on this video.. Their authors says that it’s outdated (http://rails-engines.org/introduction)
====
Rails Engines are advantageous over normal generators because they do not insert any code into the /app directory, but remain isolated within the plugins directory of your application. Furthermore, you can override individual controller actions and views/partials within your application as needed, whilst leaving the original Engine files intact.
More information: http://rails-engines.org/
Here is a short introduction to overloading Rails Engines Models and Controllers. Feel free to add more information to this.