WordPress plugins should have a focus on the server logic and/or admin parts of your website application. Good plugins are like good apps, they do one thing really well. They are intended to enhance and automate parts of the CMS in a modular way, since you can activate and deactivate them. Good plugins make use of WordPress core actions, filters, and existing javascript and css frameworks.