Either books (free or not), online tutorials, articles, etc.
The wiki: Eclipse Plug-in Development FAQ is a good start.
But you need to look at Osgi which manages the lifecycle of the plugins you will develop.
For that, the free book "Osgi in practice" is excellent.
You can find many useful examples and snippets in the eclipse cvs:
http://dev.eclipse.org/viewcvs/index.cgi/
regards Karl
I think, this is the best book about the eclipse plug-in development.
SWT: The Standard Widget Toolkit is a really good book.
I wish I've had read that book when I started out writing Eclipse plug-ins, it would have saved me a lot of time. The book gives you a deep understanding of SWT, which I believe is necessary if you're going to write anything professionally. The book explains all those little details you otherwise will have to spend hours searching the net for; how do layout managers really work, what is the event loop?
When it comes to integrating with the Eclipse workbench; using extensions points, editors, views, menus, commands/handlers/viewers, etc. I think you can pick it up by playing around with some of the plug-in development wizards that comes with Eclipse. The books I've read so far, about JFace and plug-in development in general, haven't really been helpful.
Also, don't forget to look at the Eclipse source code. It will give you a lot of ideas how to do things. Good luck!