1 Maven plugins help perform different tasks like compile , test etc. Eg. Maven compile uses maven-compiler-plugin.
2 Dependency is a packaged piece of classes that your project depends on.
3 For example, if you want to be able to write JUnit test, you'll have to use JUnit annotations and classes thus you have to declare that your project depends on JUnit.