Plugins are php codes written by developers those are adjustable to WordPress sites. When we receive a new version of WordPress, the plugin may have to be updated to be continued with its full functionality. But we faced a lot of plugins we used from the early stage of WordPress are not being updated and we replaced those by another one of almost similar functionality. Sometime we don't find a replace which can cause a major change in our site.
Another problem we can face sometime is the updated plugin may be transformed into a premium one which is accessible by money only. It's true that a developer deserves some financial benefit from his work but the problem is the doner may face a difficulty in the payment process.
Again there may be different type of problems; i.e bugs in the plugin, may contain spam codes, vulnerability, hacking codes and so on. Therefore one should reduce dependency on random use of plugin and develop ability to coding.
We have some example which can make it easy to start the development process. Look at http://wp-new.blogspot.com/search/label/wp-easy%20code .
We wish you a happy starting of development and happy blogging.