Esencialmente, cuando usa Swing, debe configurar todo manualmente: define la Ventana, cada área y control, dentro de eso nuevamente define cada control. Para cada control y área que defina manejadores para manejar cambios y acciones del usuario, etc. Debe hacer esto porque nada funcionará a menos que lo defina e implemente explícitamente.
El RCP también permite esto, pero viene con un montón de componentes de nivel superior que hacen muchas de las cosas comunes. Por ejemplo, solo son un par de pasos de configuración para definir una interfaz de documentos múltiples (MDI) o para agregar barras de herramientas con iconos que inician complementos externos cuando hace clic en ellos.
Dado que el RCP es lo que impulsa a Eclipse, los bloques básicos tienden a enfocarse en aplicaciones que tienen necesidades similares a un entorno de desarrollo: edición de texto extensa en todo tipo de ventanas, utilizando todo tipo de menús / barras de herramientas / operaciones sensibles al contexto / etc.
Entonces, si desea crear una pequeña aplicación personalizada con muchas cosas no estándar (como un cliente de Twitter llamativo que tiene todo tipo de controles personalizados o personalizables), no tiene sentido usar RCP. De hecho, arrastrará más de 5 MB de complementos a su aplicación sin ningún beneficio real.
Si desea crear una aplicación que muestre páginas web, requiera un amplio sistema de ayuda, necesite actualizarse automáticamente a través de Internet y ese tipo de funcionalidad de aplicación de escritorio a gran escala, entonces RCP será una excelente opción.