And desktop development can be much, much, much harder than web development. It really depends on what you are writing.
The nature of web apps though tend to be based around CRUD using a database already written, a web server already written, and possibly a caching server, or similar, already written. The challenging part in most web apps, as I see it, is coming up with the idea and implementing a great user experience around it, which means top notch (interaction) designers and really sweating the details.
If you contrast that with desktop apps, here my movie player needs to play WMV (via reverse engineering efforts), my browser needs a fast JavaScript interpreter, a cutting edge CSS layout engine, my photo management software needs to handle thousands of pictures in sub-seconds, should group via face recognition etc., my MP3 player needs to do 3D visualizations of the music playing and rip my CDs to a fraction of its original size using state of the art psychoacoustic models, etc.
Sure, there is plenty of desktop software which does simple things, but saying the scalability factor of web apps make them harder than writing desktop software is belittling desktop apps to a point which is absurd.
And scalability is one of the reason for which you may want to avoid frameworks.
If you're a professional you want to fully understand your data and how it is generated/modified if you want to solve both functional and load scalability issues.
Sure, but I don´t want to scatter all the SQL clauses over the code. Also, what would happen when you want to modify the way the data is accessed? I.e, you want a write-through cache in front the DB?
I can agree with you if we talk about generic frameworks. I would not take none of them for a big site, or at least I would not take it as is. But I would definetivelty use a framework, either a completely custom one or a modified one.
I´m sorry, but webapps development can be much, much, much harder than desktopapps developement. Take into account a single parameter: scalability.
Note: I expect we are talking about real app programming, and not hobbie programming.