I've done both desktop/server software and web software, and IMHO good web software is harder. With web software, you have to explicitly think about many things that just aren't an issue with conventional software, like how to distribute the load of a million users over dozens of boxes. It helps that user expectations for UI responsiveness and robustness are somewhat lower with webapps, but that's changing with AJAX. You also need to know many more technologies to build a successful webapp: CSS, HTML, Javascript, a web scripting language, SQL, database performance, server administration & shell scripts, and any libraries necessary for your problem domain.
It is a completely different skillset. With conventional apps, you need to know how to architect a large single app instead of architecting a large collection of collaborating servers. You need to know C++, Java, or C# instead of PHP/Python/Ruby. You need to know intimately the particular toolset that your app fits into - VMWare can't live without device drivers; Sleepycat can't live without transaction algorithms; one desktop app I worked on needed an intimate knowledge of TCP, including Winsock LSPs and Linux kernel hacking. You get much more out of deep knowledge with conventional apps, while webapps require a more shallow understanding of a very broad range of topics.
Also, the technologies you need for desktop apps don't have zillions of articles on them plastered across the web, and the documentation is often poor quality. But if you take a professional software engineering job, you'll be expected to make sense of it and figure out how everything works (possibly through prototypes, debuggers, and a lot of pain and patience). It's not taught in college, but that doesn't make it particularly difficult.