Sorry for the delay in replying, been traveling home
The Spark is alot more complicated than the arduino.. they have lots and lots of code to make everything easy for us, as they need to interface a couple of very complicated chips the STM32 and the CC3000. The web IDE does a really good job at hiding all that from us, much like the arduino program does for the arduino.
When you type your code in the Web IDE, spark build it compiles it into a 'bin' file. then it connects through the web to your core and says "hey i have a new 'bin' file for you, here it is" and sends it wirelessly which is about as easy as it gets.
The CLI has advantages too.. is quick and simple, with just a few words you can re-flash your core. When you use the CLI its also sending a bin file to the spark core, thats a binary file and just lots and lots of 1's and 0's. some of the bin files are known by the CLI... like tinker, so you can just put
spark flash 0123456789ABCDEFGHI tinker
and it will know what bin file to flash to your spark core, still wirelessly too. or you could put --usb at the end and do it through USB, which as I'm sure you know dfu-util comes in to it all.
If you create a folder on your PC.. c:\spark and copy the dfu-util files into it (4 of them in the win32 folder of the zip file, if you run windows) then you can copy your bin file into there and run the CLI from that folder. The bin file you can get from the Web IDE look for the cloud next to your 'current app' or you can specify a folder on your computer to compile using
spark compile my_project_folder --saveTo firmware.bin
this will give you the bin file to flash (called firmware.bin) This is where the CLI is best, its easier to compile a folder of files this way instead of adding each one individually to the web IDE.
personally I'm really liking netbeans, once its set up and you know how to add libraries its easy and alot quicker flashing through USB. it has some good tracing things too... when you right click you can select 'go to declaration' and see what the function is expecting to receive. and it also highlights bad code as you write it.. its kind of compiling and highlighting errors as you go so to speak. plus its all done offline, which is great because where i work the internet sucks and i cant make the online build work!
to make using the dfu-util easier you can add "path variables" that means you can use the CLI from any folder on your computer without needing to have the dfu files in that particular folder. for example if you have 3 or 4 projects in 3 or 4 different folders you would probably need to add the dfu files to each folder..
What OS are you running? we can guide you through it step by step