Ruby on Rails is really powerful but eventually you may find Ruby lacking a particular functionality or wishing for a particular feature in course of your work. After all, no programming language is perfect and Ruby core team cannot add whatever everyone wishes for. This is where plugins come into play. Rails 1.0 introduced a plugin system to make Rails a really flexible extension system letting programmers develop plugins which could be used to extend or override parts of Rails framework and share these features and modifications with other programmers in a reusable format.