For me, who's normally completely web-based, the factor that swings me towards desktop apps is hardware integration. Web apps are great if all you need to do is read and submit data, but if it comes to interfacing with things like label printers, or other specialist hardware, a desktop app is the only real way to go. You can link these in with web services or the like if you absolutely have to have the "Web App" tick box ticked, but specialist hardware support is for the most part out of the realm of the browser, and it makes much more sense to use existing APIs to access it.