I recently gave a presentation on developing WordPress Plugin to Okanagan WordPress Meet Up group.
The presentation was an over-view of WordPress plugins, how they work, why would you want to build your own and a demonstration of actually building a simple plugin.
I've built a number of custom plugins for clients who want to manage their site content on their own, but also have back-end databases or functionality they want on their site. A site with a product list or on-line sign-ups are good examples.
Also, custom plugins are good for offering support. A plugin page can include instructions on how to manage the site, tips for content or SEO, as well as link to other resources.