Essentially, when you use Swing, you have to set everything up manually: you define the Window, each area and control, inside that again you define each control. For every control and area you define handlers to deal with changes and user actions, etc. You need to do this because nothing will work unless you explicitly define and implement it.
The RCP allows this as well, but comes with a bunch of higher level components that do a lot of the common stuff. For example, it's only a couple configuration steps to define a multiple document interface (MDI) or to add toolbars with icons that launch external plug-ins when you click on them.
Since the RCP is what powers Eclipse, the basic blocks tend to focus on applications that have needs similar to a development environment: extensive text editing in all kinds of windows, using all kinds of context-sensitive menus/toolbars/operations/etc.
So if you want to make a small custom application with lots of non-standard stuff in it (such as a flashy Twitter client that has all kinds of custom-drawn or skinnable controls), there's no real point in using RCP. In fact, it will drag 5+MB of plug-ins into your application without any real benefit.
If you want to make an application that displays web pages, requires an extensive help system, needs to do auto-updating over the internet and that kind of large-scale desktop application functionality, then RCP will be a great fit.