Integrated Development Environment (IDE) helps you compile, execute programs and debug programs. Other than these primary functionality, IDEs supports a lot of features like Autocomplete, refactoring, debugging, intergating with several tools using plugins.
Autocomplete
This feature provides autocompletion of word you type. IDE provides suggestions for each keyword, java API class name, method name or field name that you are trying to type.
Refactoring
Let us say, you have created a Java class name or interface name or method name or field name, and used it throughout you code. Now, if you want to change the name, you have to change it everywhere and it is time consuming. Refactoring is a feature in which if you change the class or interface or method or field name, it will be renamed in all the places.
Debugging
Debugging is the way in which you identify the defects or bugs or issues and fix those. IDEs provide a way in which you can pause execution of the java code and verify the values of all the objects and fields.
Most popular IDE and is mostly written in Java, is opensource and is free. IDEs written on top of Eclipse have also become popular like Springsource Tool Suite(STS) and IBM Rational Software Architect(RSA). Eclipse hass a very wider developer community and support from various forums on the internet.
IntelliJ
It is the IDE from JetBrains and it is quite good in Autocomplete and Refactoring. Google built Android Studio on top of IntelliJ.
NetBeans
It is the IDE developed by Sun Microsystems and Oracle acquired Sun Microsystems. Since NetBeans is from Oracle, currently owning Java development, the NetBeans support for newer Java version will be faster than other IDEs.