Initializing your variables to proper value is must because it pays you better to initialize your variables properly while declaring them. If you don't initialize the variables then either they will cause compiler error or will be initialized with default values. Getting a compiler error for uninitialized variable is better because it will result in making you properly initialize your variable but if you are careless then you may initialize your variables to null to avoid the compiler error. The variables which will result in compiler error are method local and final variables. The problem with null initialized variables is that they will cause NullPointerException if you forget to initialize them even by the time you try to access them. The biggest issue here is that the JVM does not point out the variable which is Null. You need to debug your Java application to be able to find the variable which caused NullPointerException.
About Java and it's related concepts..