Launch Link Script Policy

Can someone elaborate on the difference between the Gateway settings “JavaScript” and “Direct”? I read everything I could find on the forum, but am not clear on what the differences are.

We launch our projects as:
(1) Windowed using “http://IPAddress/main/system/launch/client/ProjectName.jnlp
(2) Applets using "http://IPAddress/main/web/applet/client/ProjectName”

Applets are desired because:
(1) They are embedded inside a browser
(2) Launch without the startup screen that appears when launching as Windowed
This works when we set the project properties to launch as an Applet by default. So, is there an advantage to using JavaScript versus Direct?

The launch link Script Policy only applies to launching links from the Gateway in addition to launching clients from the designer. With that being said there is no real benefit from having Javascript handle this functionality, and we advise using the default Direct setting.