<p>As a novice, I've spent time learning a smattering of C and a fair bit of PHP. I've looked at writing desktop applications for Windows, but there seems to be a fair barrier to entry due to complexity of APIs. Is it worth learning this, or will native applications become less common in the future?</p>

<p>The way I see it, the only desktop application I ever use is a web browser and a text editor as well as the obviously the OS itself. Everything I need is online now.</p>

<p>Is learning to write non-web applications a useful skill going forwards? If so, what should I learn?</p>

You should learn whatever you
want
to learn.  If you don't you'll probably find it harder going than you need to.
I personally started writing desktop applications for Windows, because I used it at the time.  These days I do think that you're correct - you can produce a website / online-application without investing so much into the process.
But even writing a decent web application is going to be hard if you're new to programming.  A standalone page is simple, but when you add databases, security, and administration into the mix then things can grow.