They're hard for different reasons. In my experience, games, scientific computing, trading, and 'real' web backend work (i.e. not 'move this shit into the database' but 'make the database scale to a million users') are hard because they challenge you to solve difficult problems. Web frontend and simple backend work are hard because of the pain in the ass of managing all the different languages and paradigms involved.