I find web development rather simple in comparison to trying to write a basic thread manager for a PIC18F uC, not saying you're wrong, just different views.
I should probably elaborate on my statement - I find web development more challenging because of the variety of stuff beyond my control that I have to account for. Different OSs, different browsers, different interpretations of the HTML/CSS specs, etc., whereas in the embedded world, you generally have pretty tight control over the platform you're working with, and you can say with some degree of certainty that the processor is going to take X number of nanoseconds to run a particular block of code or respond to an interrupt. If I'm writing something to run on a microcontroller, almost any problem I have with the code not running properly is going to be the result of a something that I've screwed up myself. While I can certainly screw up in a higher level environment, there are constantly issues to deal with involving inconsistent or undocumented behavior of the platform, or component bugs not of my own doing that still have to be identified and worked around. You don't get stalled by unexpected garbage collection when working on a PIC in assembly, and you don't have to be familiar with 18 zillion frameworks just to get text out to an LCD.
I will definitely agree that embedded work demands a much more complete understanding of how the machine actually works and the ability to decompose a solution into much more detail, but it's much less fatiguing for me because there's a lot less crap getting in the way of getting stuff working. It's also a lot more fun. :-)