It’s really that bad. You have to specialize in the web in order to work effectively with it. It’s like learning 6 domains instead of just one. There’s no way you can comfortably learn it all. So instead you just get really good at winging it. I enjoy the web, I feel like I’d get bored of coding if it wasn’t so hard.
I’ve seen your reaction many many times. At first they don’t think web is real coding so they think it’s easier than it is. Then they all are like, “this is bullshit, web isn’t real coding because it’s so stupid!” like you’re doing now. If they stick with it they eventually come to be reasonably effective with it.
One thing that helps is choosing the right framework and stack. Let me save you some hand-wringing, the best framework is Rails. If Rails intimidates you, build your first few projects with Sinatra and graduate to Rails.