Not really, it depends on what the code is aimed at doing.
btw. You can pass settings to plugins via parameters, that could override default settings that are hard-coded into the plugin.
Plugins are there for typically small, perhaps textual, changes to content within templates. I don’t think they were designed to go much further (even though you do see plugins such as the official 1st party cron plugin) but can do so, because of their ease of implementation.
Modules would typically deal with, say, user input via forms, more complex template based output tags and a customised area within the control panel that can be used to administer whatever the purpose of the module is for (think mailinglist module).
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.