You can call execute on a File object in JavaScript, but it just runs the default action on the file as though you’d double-clicked it in a file browser. There’s no way to check for execution success.
If you need to pass params to whatever you’re executing, about the only way to do that with ExtendScript JavaScript out of the box is to write a batch file to disk then execute that. Bleh…
If you need to open a pipe from JavaScript to capture app output and return values, or even just wait until execution has finished, it’s possible – but more work. I wrote a JavaScript extension that opens up a pipe to another app, and load that into my script using the ExternalObject object. You can read about how to write an extension in the Javascript Tools Guide. There’s sample code included with the ExtendScript SDK.
JavaScript has a few advantages. Writing a JavaScript Resource lets you control how your script appears in the menu with naming and categorization, and allows you to set enable conditions. There’s also action manager automation with parameters, which can be helpful if your script is run in a variety of contexts that the user wants to automate themselves by recording actions. JavaScript files can also be invoked using the Script Events Manager (on startup, open, close, etc) while VBScripts cannot.
The ExtendScript toolkit which ships with PhotoShop is a full-featured debugger for your JavaScripts. For VBScript you need a different debugger (you can use Visual Studio, but the setup is a pain so the experience is no where near as slick).
The biggest advantage, though, is that there’s many more JavaScript examples out there to learn from, which might save you some time. Very few people use VBScript with PhotoShop, and if they do they don’t advertise their work.
But if you don’t need any of those things, and you aren’t married to JavaScript, look into VBScript like Rob suggests.