I think they're two ways of doing the same thing. You shouldn't have to do them twice; in fact, I'd expect one to override the other.
I use the IAdapterFactory for registering UI components with non-UI components where a direct dependency wouldn't be possible, and I don't have to list the types in the plugin.xml. In fact, I don't list them in the plugin.xml at all; I hook them in when the plugin starts up using the <code>PlatformManager.getAdapterManager().registerAdapters()</code> call.
The plugin stuff is probably there if you want to do it that way yourself, but you can do it either way.
Alex.
<a href="http://cvs.sourceforge.net/viewcvs.py/rcpapps/org.rcpapps.rcpnews.ui/Source/Java/org/rcpapps/rcpnews/ui/RCPNewsUIPlugin.java?view=markup">RCPNewsUIPlugin.java</a>