Whether you're developing for the public or for a specific client, or just yourself, you'll still want to create a theme that's robust and can "play well with others". the "others" being plugins. Plugins can be created to add additional functionally to WordPress for just about anything you can imagine, so long as the plugin API offers a "Hook" for it. In general, unless you're a plugin developer, you probably don't have much need to pour over the plugin API. There are, however, a few hooks that should be placed into your theme in order for plugins to work effectively with your theme and be able to reference and display information in your theme, as well as know when to run specific WordPress functions.
We placed three of these four "Action Hooks" into our theme in Chapter 3; here's a little more detail on them: