Hi kaht:
As you say, " It seems kinda silly that if a user wants to run your program they must first download the sdk package, especially if they never have an intention on developing any software with it"... well, that is why people at sun created the JRE (Java Runtime Environment). The JRE is like the SDK but without the programs that let you compile, debug, etc. the java applications. It have just what you need to run the programs made in java and off course is much smaller than the SDK.
Now, it is necesary to download at least the JRE to run the Java based applications because Java runs over a Virtual machine to hide the complexitiy of the different hardware and operating systems available. But you can't expect to have the enormous advantage of the true portability without a little of sacrifice, in this case, a little download.
You can distribute your application with the JRE embedded to make it transparent for the user.
Hope it helps.
Pedro Andrés Solorzano
Pontificia Universidad Javeriana
Bogotá, Colombia, SurAmérica.
Let me know if this post have actually helped you, by clicking the purple star.