Clearly it isn't completely automatic, as many icons don't have a reflection, but is there some sort of checkbox when creating an app to determine whether the gloss is applied?
Yes, it is automatically applied by iOS.
There is an option for iOS application developers to turn this off, called
You can read more details in the iOS Human Interface Guidelines.
Web Applications (as noted in Mathias's answer) also do have this reflection applied to them. You can override this by naming your file
jmlumpkin’s excellent answer is about native app icons. For the sake of completeness, it should be noted that there’s another type of “app” that can have home screen icons.
It’s a different story for web apps (which can also have touch icons when added to the home screen).
A web developer can add a touch icon to his website as follows:
iOS then automatically adds some visual effects to your icon so that it coordinates with the built-in icons on the Home screen (as it does with application icons). Specifically, iOS adds:
As of iOS 2.0, you can prevent the addition of these effects by using the