CSS can be hard for a programmer. It kinda should. You should be programing. I do CSS all day
Well, yeah. But that's the logic that COBOL programmers used for years and years: "it works well enough." Enough experience can make up for all sorts of design flaws. That doesn't mean that CSS isn't a flawed design.
CSS is a terrible design-by-committee disaster. Is it good to have a stylesheet language to define presentation details? Yes. Is it good to have this stylesheet language? Not so much.