@Jeffro Not that often to tell the truth, but as I progress in my skill level, I do spend a lot of time considering the issue, and work toward do so.

For example, I have some functionality that plugins typically handle (featured post front page slider) but doesn't suit the need of the theme, so I put the functionality in the functions.php. I'm considering offering the sollution in a plugin if it seems worth it in the end, so I'll put a check in the theme's function to check for the plugin and use the plugin if available (and check version). Certain functionality (like this) only makes sense if the theme uses certain template tags or hooks, so the plugin should likewise check for theme support.

(With add_theme_support( 'post-thumbnails' ); in WP 2.9 it seems as though this could be a beginning, perhaps as a place to open registration of functionality to other plugins and themes (though it could get messy, either with name collisions, or millions of semi-identical feature names). Perhaps some variant on the wp_enqueue_script/wp_enqueue_css functions to handle versioning and whatnot but that might be overboard.)

I'm also open to including other coders' plugins (with permission of course) right in the theme and to defer any updates to the plugin in the same way.

Anyway, I mean that I'll work towards that perfect world in my own code atleast ;-)