Desktop apps have their place, this is silly.
A native desktop app can better utilize hardware, take advantage of native OS abilities that chromeless frameworks can't.
Native apps can be built in lower-level languages and be built to be much more solid, speedy, use fewer resources, take less RAM without all the middlemen fluff.
I'm all for web apps, they are cool and all, but they depend on a browser and a tab being open. They have limited abilities, they can't even put an icon in the system tray, or startup with Windows. They are not as easy to control via OS security policies.
Maybe I just have bad luck, but I ALWAYS try to find services that give native desktop apps. If not native, then at least full featured frameworks that can use native OS features.
I rarely touch Office online because it's just slow, herky jerky, buggy, crashy. I absolutely hate interfaces that aren't very responsive.
I agree with Scott that IF the app can be a web app, go for it. But there are also times when you might want native OS features, lower level language that compiles with fewer dependencies, smaller size, greater efficiency, and so forth.
Apps can be built to self-update, most desktop apps do. I've never had to do anything fancy to get Slack to update, it just updates itself. Slack isn't native, it's a framework, just using it as an example.
I think when the OP talked about Windows apps being "buttons and boxes" or whatever, he probably just means that there is a drag-n-drop interface for common .NET form controls. You just place all the controls where you want and program from there. Things like minimize/max/close, resize-able borders and control menus are all sort of automatic.
But with web apps, form libraries are not as popular, and there aren't any really good drag-n-drop designers for creating UI FROM such things anyway.
Much time has to be spent designing the UI, even if you do use a library (you have to learn the library!), or even a CSS framework like Bootstrap or Foundation, you still have to code and try to keep straight the rows and columns and how you want things to respond and slide around responsively.
In any case. Desktop apps definitely have their place. I use desktop email, desktop photo editing, desktop file and information management tools, chat, backup apps, file sync, document readers, DB management tools, remote control tools, FTP, text editors/IDEs, and 3 dozen others that are just way more better suited to native.
Native apps always have the option of avoiding updates. Or lets say an update ruins things, you can usually reinstall a previous good version. With web apps, if they screw up and something breaks, you have no options but complete down time waiting for fixes or trying to fix it yourself depending on where the problem lies.
And of course, browser tabs are, for the most part, sandboxed, so there are already limitations regarding file system. Try auto-connecting to files over the local network from a web app. Web apps don't have unlimited power, if they did, we would be right back to having huge malware issues. Malware has made web apps more limited and locked down. Native apps are still the way to go if you need power and greater control of OS abilities and features.
This web versus native argument can go forever, but just like most things in life, you pick the best tool for the job. If a web app will do it, always go web app. They are typically easy to set up and maintain. If you want native OS features or require to greatest efficiency, security, or OS-level features, then obviously native.
If you want to do both, as is popular these days, look into crossover frameworks like Meteor, Electron, or Cordova for mobile as well.
I believe cross-platform frameworks are going to be huge for some time to come, but there will always be a special place in my heart for a native app that can fully utilize system tray, startup, notifications, file system, and full system power.
Yes frameworks can do some of this, but they have to come with a lot of middlemen architecture, bloating the apps RAM use probably 3 to 5 times more than would be necessary with native programming.
Anyway, I've rambled on long enough.