I was wondering what are the advantages (and disadvantages) of creating a plugin that is only usable with a single component (ex. list) or creating a subclass of that component?
If your plugin will only work with one component then you may save some overhead by going with a subclass instead. Plugins are great if they can be applied to different components. Plugins are also great for distribution to outside projects or sharing between applications.