I do love front end development and it is indeed complex. I agree with Tommy Hodgins that our abstractions have made it difficult, but I will add that good, usable UI is a very complex thing. Why do we have hundreds of libraries and languages and tools that are dedicated to it? Because its a hard problem to solve and there are lots of people trying to make it easier, but after all of the work - it's still hard. Even with the best tools, it's hard. It's hard to not only write the code, but to design it so that users 'get it' and are able to use it in a way that makes it easy but at the same time powerful.
I love UI work because its the closest you can get to the end user of an application. The work you do will be clicked on and dragged and dropped by the actual end users. Humans. You can make their day or piss them off. It's really cool in that way. When you build people something that solves a problem for them, and they love it, and they tell you they love it - that's a cool feeling.