I used to manually download java sdk .bin file and configure them (setting path,classpath,etc) for development. But some distros include java sdk in their own software repositories.
I use to change my distro often (my /home remains the same always) and I have to select Java SDK from the software repo and download it again and again. What is the difference in using the java sdk by manually configuring and from the using repo ? Which way is better ?
The Java that "comes with" some distros is almost always OpenJDK, not the Oracle/Sun JDK.
For a long, long time, OpenJDK/IcedTea was functionally not complete enough for all purposes, and most notably, couldn't reliably run J2EE appservers. More recent releases apparently are complete, but I spent the last 2 days being battered by OpenJDK in a recent release of CentOS, because that particular OpenJDK is not complete enough for Java 7 requirements, and I kept forgetting to set JAVA_HOME to use the Oracle JDK instead of the default IcedTea JDK.
For RedHat-style distros, you can download an RPM-based install from Oracle. It doesn't do that much over a straight binary install, but it does standardize the location of your installed JDKs and JREs (/usr/java), and it does register the JDK in your RPM database as an officially-installed package.
Sometimes the only way things ever got fixed is because people became uncomfortable.
I always prefer installing my own JDK from oracle's download site, and I also install any and all Java-related stuff (Eclipse, Maven, Tomcat, etc.) from their respective web sites. That way I know exactly what I'm getting (and where I put it!)