The short answer is yes, in addition to their location under different sections in the PS menu, each plugin has it's own internal limitations, sequence of invocation etc. The closest you can get to the "general purpose" plugin is an automation plugin as it can be triggered upon various events and can also invoke other plugins, A common approach when developing a plugin with mixed functionality is to have a main "dispatcher" automation plugin that either invokes other plugins as helpers (e.g. a hidden filter to process pixel data) or is invoked by other plugins either upon the events or via an exported suite. You may to browse the Automation examples in the SDK samplecode folder.
I would also suggest looking into the "Plugin modules" section of the SDK documentation - it should have the information you need in terms of structure, limitations etc The FAQ section is also worh reading.