Here is the story of all four components of Selenium
Story of Selenium RC It is the most powerful framework of whole Selenium project, like every software in early phase there were some issues like origin policy with java script program, it only can access pages within the domain where it belongs not out of it . This was the main reason RC comes into light because testers need to install both the java script program ( Selenium core) and the web server which contains the application need to test . Then another thought works engineer Paul Hammant decided to create a server which will act as a proxy to trick the browser that will behave like both Selenium core and web application are in same domain . That whole system named as Selenium RC.
RC can support the following programming language: -
Selenium RC supports conditional testing, it is cross browser and cross platform but there are some disadvantages also like it needs Selenium RC to be ruining , u need have good programming knowledge , little complicated and browser interaction is less realistic.
Story of Selenium IDE -
In 2006 Shinya Kasatani created a firefox extension that was able to record and play the web browsers activity , it is the most easiest framework to use Selenium , it is a firefox plug in that we can install anytime .but we cant do more conditionals test on it ,and it is little slow then Selenium RC .
Story of Selenium Grid -
Patrick Lightbody made Selenium Grid just to minimizing test execution times as much as possible , it was capable of capturing screen shot during different stages. It is used with Selenium RC to run parallel test across different machines and different browsers hence it automatically saves time
Story of WebDriver -
Simon Stewart created this first cross platform testing framework that can control the browser from the OS level, in many area it is proved to be better then Selenium IDE and Selenium RC
Unlike Selenium RC it does not depend on java script it controls the browser by directly communicating to it but like Selenium RC it can not readily supports new browsers ,its installation is more complex and has no build in function to handle run time messages .like Selenium RC it supports all 6 programming languages .
To know about How different components are suitable for different kind of projectsclick here