So in short, deno is a javascript interpreter suitable for local scripting, server/services, etc. Just like node.
You can probably use it for desktop applications, but it more closely targets server code, again like node.
So how does deno differ from node? It has a different module system and stdlib (better, more modern). It has first-class typescript support. It has much better security controls so that it's possible to use it to interpret untrusted code (this is not security advice).
The 'untrusted code' bit means deno's also gunning a little for the niche lua and other embedded scripting languages occupy, but I don't think it has much of a foothold there yet.